Hello fans Thanks Tim for advice!
Now I find: 1. "lock" used tas (test-and-set), in libc too 2. "queuing lock" use "lock", and also suspend task which wait locking 3. "rendezvous" can handle two task (and live in kernel) 4. "Rendez" (as subset of rsleep;rwakeup;rwakeupall) can handle multiple tasks (and live in libc) Is it right? TN> There are several types of locks. Some (like spin locks) can operate TN> without any assistance from the kernel (not entirely, they yield with a TN> syscall). Others (like rendezvous) use the kernel to mediate between the TN> processes. As I seen both rendezvous and Rendez(rsleep;rwakeup;rwakeupall) change state of process but Rendez can do this even in libc, where is different other than state of process: Rendezvous (in syscall) and Sleep (in rendez)? why rendezvous need to be at kernel? -- http://rs-rlab.narod.ru mailto:[EMAIL PROTECTED]
