[comp.unix.questions] Problems Using SunOs LWP library

jamesp@bison.uucp (James Pinakis) (09/18/90)

I am having huge troubles with SunOS's LWP library (using SunOS 4.0.3 on
a SS-1) and I would urgently like to hear anybody's experiences with using
this library.  In particular, I'm curious to find out whether anyone has
experienced the library failing to resume (using lwp_resume()) threads
which have been suspended (using lwp_suspend()).  I'm sure that the
threads are being suspended properly and that the call to lwp_resume()
is ok (i.e. it is called with a valid thread id) but sometimes the threads
just don't resume.  In a last ditch effort to fix my problem I tried
to get the thread to be suspended to wait on a message (using msg_recv())
and then have the other thread restart it by sending it a message.
This worked a little better, but the threads still frequently fail to
rendezvous and the program grinds to a halt.

I've also noticed that calls to lwp_create() occasionally block.  Under what
circumstances does this happen (there's no mention of lwp_create() ever
blocking in the manual pages)?  Do any of the other lwp library calls ever
block?

I've had little success in finding out anyone's experiences with this library.
Is this because no-one uses it?  Is it broken?  If so, are there any
other libraries which provide similar functions (on SPARCstations) with the
added novelty of actually working?

james
jamesp@bison.cs.uwa.oz.au