On Thu, May 02, 2024 at 12:39:34PM +0200, Florian Weimer wrote: > * Christian Brauner: > > >> From a glibc perspective, we typically cannot use long-term file > >> descriptors (that are kept open across function calls) because some > >> applications do not expect them, or even close them behind our back. > > > > Yeah, good point. Note, I suggested it as an extension not as a > > replacement for the TID. I still think it would be a useful extension in > > general. > > Applications will need a way to determine when it is safe to close the > pidfd, though. If we automate this in glibc (in the same way we handle > thread stack deallocation for example), I think we are essentially back > to square one, except that pidfd collisions are much more likely than > TID collisions, especially on systems that have adjusted kernel.pid_max. > (File descriptor allocation is designed to maximize collisions, after > all.) (Note that with pidfs (current mainline), pidfds have 64bit unique inode numbers that are unique for the lifetime of the system. So they can reliably be compared via statx() and so on.)