Messages in this thread | | | Date | Fri, 16 Jul 1999 09:08:55 -0600 | From | yodaiken@chelm ... | Subject | Re: linux-kernel-digest V1 #4149 |
| |
On Fri, Jul 16, 1999 at 07:15:52PM +0400, Khimenko Victor wrote: > Now. Not additional IPC :-(( It goes further. How thread creation in > LinuxThreads looks ? > > <calling thread> > write > sigsuspend > <switch to manager> > select returns > getppid > read > geteuid > mmap, twice > clone > <switch to child> > getpid > <back in manager> > kill > select > <calling thread is awake again> > > MUCH more then simple clone() and setting up child's stack :-(( Why all this > mess ? Just since there are no way for task to wait for another "unrelated" > task (I use term "task" for Linux's process/thread beast: it's not process and
thread A: sigwait
thread B: kill_pthread(A,WAKEUP)
Don't want to make this explicit?
pthread_wait_for(threadB) threadB->notify_list++ = my_thread; suspend;
phtread_create(f ...) clone in child call f on exit look through me->notify_list
If we are only considering "pthreads" sharing the same address space, all this seems trivial. What am I missing?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |