Messages in this thread | | | Subject | Re: Who changed /proc/<pid>/ in 2.6.0-test5-bk9? | From | Albert Cahalan <> | Date | 02 Oct 2003 00:12:49 -0400 |
| |
On Wed, 2003-10-01 at 23:35, Ulrich Drepper wrote: > Linus Torvalds wrote: > > > I think /proc/self most likely _should_ point into the thread, not the > > task. > > As much as I want to not see this, I fear I have to agree. > > There is, for instance, no guarantee that all CLONE_THREAD clones also > have CLONE_FILES set. Then using /proc/self/%d for some thread-local > file descriptor will return the process group leaders file descriptor, > not the own.
[meaning /proc/self/fd/%s instead]
In that case, don't you already have a severe mess? For example, some kind of fd-related signal needs to be delivered to the shared queue. So that happens, but who can tell which "fd 42" it belongs with?
IMHO, if you want separate files, CLONE_THREAD should not be in your clone() flags. (and then users call the resulting thing a group of processes that share stuff, instead of calling it a single process)
Also consider what the "fuser" and "lsof" programs must do if threads don't share file descriptors. Ow, ow, ow!!! These programs must scan /proc/*/task/*/fd/* to find all open files. If threads share files, then "only" the tgid level must be scanned.
- 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/
| |