On Fri, May 1, 2009 at 6:44 AM, Onkar Deshpande <onkar.deshpande@xxxxxxxxx> wrote: > Hi, > > I am writing a system call which is called as rendezvous_wait(). This system > call is passed a character which would act as a kind of identifier. My > application program will create threads and each thread will call > rendezvous_wait with a character. Consider thread1 calls the system call > passing x. Since it is the first one to call that system with parameter x, > thread1 will be pushed on a wait list. i.e. kernel should force it to sleep. > Whenever any other thread calls rendezvous_wait() with same parameter x, > thread1 should be taken out from the wait queue and put on the run queue, > which could later be scheduled by the scheduler. This system call is called > as rendezvous_wait because it is much similar to meeting where one person > waits for other and when other comes, they both live for some another > location. Hi, Have you considered using condition variables? ([1]). Why do you need a new system call? thanks, Daniel. [1]https://computing.llnl.gov/tutorials/pthreads/#ConditionVariables -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ