[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: roxen/spinner and xephem?



Mike Neuffer <mike@i-Connect.Net> writes:

> On the problems: The major problem under Linux seems to be threading.
> It works fine under Solaris for example. (This is an experience we made
> ourselves here with an app that uses threads extensively. :-()

Do you know if this is with LinuxThreads or Provenzano's?  With
LinuxThreads, at least, there's the -D_REENTRANT issue...

Also, I've had some trouble with LinuxThreads because I (incorrectly)
assumed that the mutexes and semaphores would be FIFO. or at least
have some kind of scheduling fairness, but it turns out that
starvation can be a real problem.  A thread grabbing and releasing a
mutex repeatedly can keep getting it, even if there are already other
threads waiting on it, making it easy to starve all the other threads.
Apparently this is completely within the POSIX spec, but not what I
would have expected.

Looking at the source, I did convince myself that at least condition
variables are "fair".

FWIW
-- 
Rob


Reply to: