[...]
> A solution would be too change handling of local critical sections to use
> either UNIX IPC semaphores direct or 'busy wait' using a local wait
> (like usleep(), select() and/or sched_yield()).
> 
> Both would avoid 2 of 3 process context switches.
> 
> But before I start hacking like madly for myself... Any opinions?

  It seems to me that the right way to implement this would
be to follow the glibc implementation, which I believe would
imply an interlocked test and increment, with a yielding spinloop.

  However, I know that at times, some Wine apps have relied on
Critical Sections timing out, is that an issue?

Reply via email to