We are writing an application for Solaris which uses both RPC calls and
We are using the rusers function to retrieve the names of users which are
logged on to other machines in our building. Unfortunately if a machine is
down, rusers takes a long time to time out. So we decided to use threads: we
create a thread for each rusers call and, wait a while. If a certain maximum
delay has passed, we kill all the threads which haven't completed and
Unfortunately, because of the nature of rusers, all the processes are
waiting for some network reply. For some reason libthreads sends us a
SIGWAITING and kills the program. Any hints on how to avoid this ?
Is there a way to tell the threads library to wait a while longer before
generating SIGWAITING ?