Re: linux-kernel-digest V1 #4149

yodaiken@chelm.cs.nmt.edu
Fri, 16 Jul 1999 09:08:55 -0600


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/