[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK1hOcObOmC-rfAZY6sUX98VZZpDn6+6XrUDJ_nFFGHROEYniQ@mail.gmail.com>
Date: Wed, 17 Aug 2011 18:03:26 +0200
From: Denys Vlasenko <vda.linux@...glemail.com>
To: Kay Sievers <kay.sievers@...y.org>
Cc: Oleg Nesterov <oleg@...hat.com>, akpm@...ux-foundation.org,
linux-kernel@...r.kernel.org, lennart@...ttering.net,
linux-man@...r.kernel.org, roland@...k.frob.com,
torvalds@...ux-foundation.org
Subject: Re: + prctl-add-pr_setget_child_reaper-to-allow-simple-process-supervision
.patch added to -mm tree
On Wed, Aug 17, 2011 at 3:21 PM, Kay Sievers <kay.sievers@...y.org> wrote:
> On Wed, Aug 17, 2011 at 15:05, Oleg Nesterov <oleg@...hat.com> wrote:
>> On 08/17, Oleg Nesterov wrote:
>>> On 08/16, Andrew Morton wrote:
>>> > From: Lennart Poettering <lennart@...ttering.net>
>>> >
>>> > Userspace service managers/supervisors need to track their started
>>> > services. Many services daemonize by double-forking and get implicitely
>>> > re-parented to PID 1. The process manager will no longer be able to
>>> > receive the SIGCHLD signals for them.
>>> >
>>> > With this prctl, a service manager can mark itself as a sort of 'sub-init'
>>> > process, able to stay as the parent process for all processes created by
>>> > the started services. All SIGCHLD signals will be delivered to the
>>> > service manager.
>>>
>>> I try to never argue with the new features. But to be honest, this
>>> doesn't look very good to me.
>>>
>>> OK, a service manager M does prctl(PR_SET_CHILD_REAPER), then it forks
>>> a service X which forks another child C and exits. Then C exits and
>>> notifies M.
>>>
>>> But. How can M know that the service X should be restarted? It only
>>> knows the pid. What if wait(WEXITED) succeeds because C in turn does
>>> fork + exit? What M has 2 or more services?
>>
>> Also. I am almost sure I have already reviewed a very similar patch
>> a long ago.
>
> It's almost the same.
>
>> Ungortunately, I can't find the previous discussion, and
>> I can't recall why that patch was not accepted.
>
> We've just been busy with other things. But now that systemd will not
> only be PID 1 but also the process parent for every user logged into
> the system, we need this functionality.
Getty and login worked rather well for 40+ years.
You need to stop trying to supplant every traditional Unix utility
with systemd. This is becoming ridiculous.
You have is a hammer, everything looks like a nail to you.
Where will you stop?
--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists