lkml.org 
[lkml]   [2008]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/3] orphaned pgrp fixes
    On 03/05, Eric W. Biederman wrote:
    >
    > Oleg Nesterov <oleg@tv-sign.ru> writes:
    >
    > > I am hopeless, I can't understand orphaned pgrps.
    >
    > I will give it a quick try.
    > When you login in text mode you get a fresh session (setsid).
    > If you are using job control in your shell each job is assigned
    > a separate process group (setpgrp).
    >
    > The shell and all process groups are in the same session.
    >
    > Intuitively a process group is considered orphaned when there is
    > are no processes in the session that know about it and can wake it
    > up. The goal is to prevent processes that will never wake up if
    > they are stopped with ^Z.
    >
    > A process is defined as knowing about a process in a process group
    > when it is a parent of that process.

    Thanks Eric. This does help.

    Stupid question, just to be sure. Suppose that SIGTSTP was sent by a
    "regular" kill_pid_info() (not by tty or kill_pgrp_info). In that case
    get_signal_to_deliver() still must check is_current_pgrp_orphaned(),
    yes?

    > The task_tgid_nr_ns(p->real_parent, p->nsproxy->pid_ns) == 1 check is
    > the proper check, as it handles namespaces properly. If we need to
    > retain it.
    >
    > I don't believe we need to retain the check for init at all. sysvinit
    > doesn't use that feature and I would be surprised if any other init
    > did. Except for covering programming bugs which make testing harder
    > I don't see how a version of init could care.
    >
    > Further as init=/bin/bash is a common idiom for getting into a
    > simplified system and debugging it, there is a case for job control
    > to work properly for init. Unless I am misreading things the check
    > for init prevent us from using job control from our first process.
    > Which seems like it would make init=/bin/bash painful if job control
    > was ever enabled.
    >
    > I believe that the only reason with a weird check for init like we are
    > performing that we are POSIX compliant is that our init process can
    > count as a special system process and can escape the definition.
    >
    > Therefore I think the code would be more maintainable, and the system
    > would be less surprising, and more useful if we removed this special
    > case processing of init altogether.

    Looks like a nice changelog for the patch ;)

    Oleg.



    \
     
     \ /
      Last update: 2008-03-07 02:55    [W:0.033 / U:60.400 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site