"Worse is Better" gives an entertaining view on this fact.
pepe On 24/08/06, skaller <[EMAIL PROTECTED]> wrote:
On Thu, 2006-08-24 at 08:56 +0100, Simon Marlow wrote: > Hi Folks, > > Roman Leshchinskiy and I looked into the 6.4.3 crashes on Sparc/Solaris > yesterday. I think we may have found the problem, and it seems likely that this > is the same problem affecting 6.4.3 on MacOS X. The threaded RTS is assuming in > a couple of places that pthread_cond_wait() doesn't spuriously wake up, which is > apparently the case on Linux but not true in general. I don't believe it is the case on Linux either. I had the same problem: on Linux it appears to work .. but Posix allows spurious wakeups, our OSX/Solaris/Windows code failed. This isn't just for cond_wait: most system calls can return spuriously if an OS signal goes off. Somewhere I read a good article explaining why this is necessary for good performance. A signal to a condition variable should be regarded as a hint to recheck the condition. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users