Marcus Brinkmann <[EMAIL PROTECTED]> writes: > On Sun, Nov 17, 2002 at 12:24:03PM -0500, Neal H. Walfield wrote: > > > Is there a race condition before __pthread_block? We can receive > > > pthread_broadcast before we have blocked. > > > If so, how do we solve that? > > > > As I said in a previous email, a __pthread_wakeup queues a message on > > the waiter's port (using mach_msg). If this happens before the waiter > > calls does a receive on his port (i.e. via __pthread_block calling > > mach_msg), then it will be there when the waiter arrives. If it > > happens after the waiter calls mach_msg then the waiter gets the > > message. Thus, no race. > > What about non-Mach backends? I would feel better about an > internal-interface-guarantee argument rather than an implementation > argument.
We need a reliable wakeup/block mechanism. In Mach, the one Neal describes is fine. If we need a different one, so be it. Regardless, the wakeup and block routines should of course guarantee the behavior that Neal describes. _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd