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

Re: upstart: please update to latest upstream version



On 07.03.2012 00:21, Fernando Lemos wrote:
> Hi,
> 
> On Tue, Mar 6, 2012 at 7:46 PM, Josh Triplett <josh@joshtriplett.org> wrote:
>> To give one particular example: systemd uses Linux-specific features to
>> accurately track all the processes started by a service, which allows
>> accurate monitoring and shutdown of processes which could otherwise
>> disassociate themselves from their parent processes via the usual
>> daemonizing trick.  POSIX doesn't provide features that allow this in
>> general, but Linux does.  (Quite possibly other OSes provide those
>> features too, but not in a standardized way.)
> 
> By the way, upstart uses ptrace for this:
> 
> http://netsplit.com/2007/12/07/how-to-and-why-supervise-forking-processes/
> 
> It's an interesting trick, and probably more portable too.

It's an ugly hack, even Scott didn't like that approach very much and
definitely one of the weaker points of upstart. Scott was planing on
reworking process tracking using a netlink based interface.

It's rather easy to confuse upstart's process tracking. You explicitly
have to tell upstart if a daemon forks once or twice (expect daemon,
expect fork) and if the daemon forks multiple children upstart often
doesn't get it right.

systemd's usage of cgroups solves all those problem very nicely.

It's also one of the reasons, systemd can properly monitor sysv based
services, btw.

Contrary to upstart, systemd treats sysv init scripts as first class
citizens. For systemd, /etc/init.d/<service> files are just another
configuration source for its service definitions.

This makes it trivial to declare dependencies between native and sysv
based services.

upstart on the other hand implements sysv compatibility completely
different. All it does is run "/etc/init.d/rc 2" on the runlevel 2
event. You can't really declare any interdependencies between upstart
and sysv services.

This is also the reason why packages need to be converted from the
bottom up in a strict order. This is something which will be very hard
to do in Debian.

systemd's approach of handling sysv based services as first-class
citizens makes it easily possible to convert package by package.

Michael

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: