On Mon, Jan 19, 2009 at 01:39:02PM -0800, Garrett D'Amore wrote:
> Jeffrey Hutzelman wrote:
> >--On Friday, January 16, 2009 05:43:24 PM -0600 Nicolas Williams 
> ><Nicolas.Williams at sun.com> wrote:
> >
> >>Even if you remove pagsh, you must be creating new PAGs when users
> >>login.  Login is a user-land-driven process, and I don't see a clean way
> >>for the kernel to glean "create new PAG now" from the other system calls
> >>called during the login process.  Therefore we need at the very least a
> >>"create new PAG" system call.
> >
> >AFS already has such a system call, and so doesn't need a generic one.
> >If you want to have PAM modules and/or command-line utilities do this 
> >for specific non-AFS use cases, then yes, you'd need a system call.  
> >If you want login to do this automatically for every use case, then 
> >you need a system call which does that, or you need to enumerate all 
> >of them in user space.
> If you have a kernel driver that has a device node, you can get away 
> with ioctl() and don't need a new system call.  That's how I'd do it for 
> audio, anyway.

What we want with audio is best likened to controlling ttys.

As with controlling ttys we'll want the task of creating a session to be
explicit -- as in setsid(2).  The task of associating an audio device as
the controlling device for such a group of processes can be implicit,
just as with ttys (where the first tty opened after creating a new
session becomes the controlling tty).

I don't think it's a good idea to use ioctl()s for creating process
groups of any kind.  Device drivers, in any case, shouldn't be doing
such things.  As for associating a controlling device with some such
process group -- if the association through cred_t and indirect (i.e.,
without having to modify cred_t), then I think it's quite kosher.

Nico
-- 

Reply via email to