On Tue, 2009-06-23 at 22:29 +0200, Oleg Nesterov wrote: > > The act of a process becoming a session leader is a useful signal to a > > supervising init daemon such as Upstart. > ... > > @@ -360,8 +360,10 @@ void __set_special_pids(struct pid *pid) > > { > > struct task_struct *curr = current->group_leader; > > > > - if (task_session(curr) != pid) > > + if (task_session(curr) != pid) { > > change_pid(curr, PIDTYPE_SID, pid); > > + proc_sid_connector(curr); > > + } > > Wouldn't it better to change sys_setsid() then? This looks more clear > imho, and we can move proc_sid_connector() outside of tasklist_lock. > > Note also that __set_special_pids() does not neccessary mean we are > becoming a session leader, see daemonize(). > Actually, I specifically wanted to receive this event if the process called daemonize() which is why this is done here rather than in sys_setsid() The new session is important information to init in figuring out what the process is up to (ie, fork(), setsid(), fork() = daemonise) Scott -- Scott James Remnant scott@ubuntu.com