we are experiencing a deadlock if two processes
call each other in peer-to-peer mode, i.e. both
are server and client at the same time.
We are using our own select with svc_getreqset when
the call comes in. The problem occures when both are
starting the rpc at the same time, they are*
in the same procedure (something with xdr_..._auth,
sorry I donIt remember exactly), which is called from
the stubs generated with rpcgen.
Q: Is it possible to turn Sun-RPC to asynchroneous
I/O so they would not deadlock.
We are using fixed program numbers, would it help to use
dynamically generated number one one side (the "server"
which receives the first call fram the "client").
Is it possible to call svc_sendreply outside of the
dispatch routine so we can use asynch I/O in our select
(see if we can write on the socket or not, and keep the
data piece small). Would that help?