> this means that any dynamic allocation > of structures containing rendezvous is not possible because > structure can be free'd before the rendezvous lock is > dropped by the waking process.
Déjà vu all over again ... This and other subtleties of sleep/wakeup were extensively explored in 9fans back in Jul-Aug 2000. Look for the subject line "i386 test-and-set problem" if you've got a strong stomach.