thiago at kde.org
Fri Dec 13 20:26:22 PST 2013
On sábado, 14 de dezembro de 2013 04:30:22, Lennart Poettering wrote:
> I'd certainly enjoy it if we could get fds to processes by opening
> /proc/$PID, and then get translated access to its properties, and best
> would even be if we get a POLLHUP or so when the process dies... And if
> the exit status would be retrievable via /proc/$PID, too, and the PID
> not released until the last fd to it is closed. If we had that then we
> suddenly would have a useful identifier for a process that is not
> subject to reuse, that is race-free and quite comprehensive, and nobody
> would have to deal anymore with that awful nonsense that is wait()...
But we could do that by having forkfd too: get a file descriptor that
represents the child process. When the child exits, the fd becomes readable
and you get to read a struct siginfo_t from it (which contains the exit
Since it's a file descriptor, you can pass it to other processes, that can then
wait for the process, not just the parent process or PID 1.
More importantly, forkfd would be thread-safe and have thread-safe exit
notifications. Handling SIGCHLD thread-safely from a library is impossible and
it gets worse when you have multiple libraries competing for the signal
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 190 bytes
Desc: This is a digitally signed message part.
More information about the dbus