bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: kill (0, SIGSTOP) is freezing the system (was: /hurd/init and /hurd/


From: Justus Winter
Subject: Re: kill (0, SIGSTOP) is freezing the system (was: /hurd/init and /hurd/proc)
Date: Fri, 26 Jul 2013 13:24:49 +0200
User-agent: alot/0.3.4

Quoting Samuel Thibault (2013-07-24 15:15:52)
> Justus Winter, le Wed 24 Jul 2013 08:30:52 +0200, a écrit :
> >   the processes below 100 that are
> >   not marked as essential by Guillems patch are:
> > 
> >   exec,
> 
> That one should be easy.

Yes, /hurd/init can mark it as essential.

> > /sbin/init, term, pflocal, mach-defpager, null, procfs,
> >   proxy-defpager, tmpfs, storeio
> 
> Most of which are translators.

Once /sbin/init runs as pid 1, all remaining processes are
translators.

> >   I'm not sure about how important it is not to freeze anyone of them,
> >   but at least procfs must not be stopped b/c killall5 wants to
> >   iterate over /proc.
> 
> And /proc might not even be started yet, so exec need to be unfrozen at
> least, to start it. Perhaps killall5.c could have a Hurd-specific
> function to use libps to identify procfs and let it continue.
> 
> > But it would surely be nice not to freeze filesystem translators, and
> > probably the pagers and the term translators.
> 
> So should perhaps translators be marked as such and avoided?

So you are saying that any translator started by root should be
considered essential? If so, I've been trying to determine whether a
process is a translator by inspecting its bootstrap port. I tried to
do so from within /hurd/proc (various places) and /hurd/exec
(do_exec), but have failed. I think this is because the timing is
critical, as TASK_BOOTSTRAP_PORT is reused as a normal port name. I'm
kinda puzzled that putting code into exec doesn't seem to work
reliably, because at this point in the exec process
portarray[INIT_PORT_BOOTSTRAP] should be either the bootstrap port or
MACH_PORT_NULL for normal programs, right?

A more explicit variant would be to let translators set themself as
essential, would you prefer that?

Justus



reply via email to

[Prev in Thread] Current Thread [Next in Thread]