Messages in this thread | | | Date | Fri, 1 Sep 2000 15:33:12 -0700 (PDT) | From | Brian Wellington <> | Subject | Re: thread group comments |
| |
On Fri, 1 Sep 2000, Linus Torvalds wrote:
> > 3rd Problem: one uid/gid process-wide > > > > All the ID (uid/guid/euid/egid/...) must be process wide. The problem > > is similar to the signal handler. I think one should again keep the > > information exclusively in the master thread and have all others refer > > to this information. > > No, it would be another "clone" option. > > But I don't think this is performance-critical, and I don't think it is > something people really care about. So I'd be unlikely to handle this for > 2.4.x.
I care.
Having written lots of Linux-specific code in BIND 9 to work around this problem in LinuxThreads, I'd really like to see it work correctly (correctly meaning according to posix, in this case).
Basically, on every non-Linux platform, we can start threads, parse the config file in a thread, create new privileged sockets to listen on, and then call setuid(). On Linux, that doesn't work, because the call to setuid() only affects the running thread, which means we need to rework the above logic into a capability-based mess.
This is not a performnace critical operation, but not implementing in the kernel makes user space jump through some pretty large hoops. The solution would probably involve lots of inter-thread messages, which if I remember correctly, these changes were supposed to remove.
I'd imagine other people have similar concerns...
Brian
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |