Re: [PATCH][RFC] Pollable /proc/<pid>/ - avoid SIGCHLD/poll() races

From: Paul Menage (pmenage@ensim.com)
Date: Thu Oct 04 2001 - 04:31:40 EST


>> The only real user-space solution to this is to have the SIGCHLD
>> handler somehow cause the select() to return immediately
>
>... or implement pselect:
>http://mesh.eecs.umich.edu/cgi-bin/man2html/usr/share/man/man2/select.2.gz

Agreed, althought that's not a user-space solution. Is there any
fundamental reason why no-one's implemented pselect()/ppoll() for Linux
yet?

>
>or use sigsetjmp/siglongjmp

Yes, that would probably solve the situation in question, provided that
siglongjmp() is portably safe. (A comment on LKML in the past suggested
that it's not safe on cygwin, for example.)

>
>Both would be portable and not special to child handling.

One advantage of the pollable /proc/<pid>, (when combined with
do_notify_parent() waking tsk->exit_chldwait) is that any process can
check for the exit of any other process (not just direct children) in a
select()/poll() call.

Paul

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Oct 07 2001 - 21:00:31 EST