Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 31 Jan 2024 17:10:53 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH v3 0/1] pidfd: implement PIDFD_THREAD flag for pidfd_open() |
| |
On 01/31, Christian Brauner wrote: > > On Wed, Jan 31, 2024 at 03:12:04PM +0100, Oleg Nesterov wrote: > > > > After this patch we can easily add another feature, pidfd_poll() > > can add, say, POLLHUP to poll_flags if the pid is "dead". > > > > So the user can do > > > > poll(pidfd, { .revents = POLLHUP }); > > > > and it will block until release_task() is called and this pid is > > no longer in use (pid_task() == NULL). > > > > Do you think this can be useful? > > Yeah, I think this is something that people would find useful. IIUC, it > would essentially allow them to do things like wait until a task has > been waited upon
Exactly.
OK. I'll try to make the (hopefully simple) patch on top of this one on Friday, if Tycho agrees with V3. Will be busy tomorrow.
> * systemd completely relying on pidfds to manage services to guard > against any pid races. > * Extended dbus to allow authentication via pidfds. > * Extended policy kit to enable secure authentication of processes via pidfds. > * Language support for pidfds: Go, Rust etc. > * An endless number of tools that added support for them. > * glibc support for pidfd apis. > > There's a bunch more. That literally obliterated whole bug classes.
Thanks for this info!
Not that I ever thouhgt that pidfd is "useless", not at all, but as I said (and as a Perl progammer ;) I simply do not know what people actually do with pidfds ;)
Oleg.
| ![\](/images/icornerr.gif) |