On Mon, 2014-11-03 at 13:03 +0100, Michael Biebl wrote:
> Am 02.11.2014 um 03:06 schrieb Ben Hutchings:
> > On Sun, 2014-11-02 at 02:34 +0100, Christian Hofstaedtler wrote:
> >> * Ben Hutchings <[email protected]> [141101 14:02]:
> >>> On Sat, 2014-11-01 at 13:22 +0100, Christian Hofstaedtler wrote:
> 
> >> dash "backs up" any FDs it redirects, so it can restore them
> >> later on. bash just closes them outright in this situation (forked
> >> subshell + parent exits), causing udev's spawn_read to immediately,
> >> thereby marking the udev event as finished.
> > 
> > That makes *much* more sense.
> 
> 
> [..]
> 
> >> I'd suggest the following patch, as a stop gap for sysvinit users:
> >>
> >> Index: systemd-215/debian/extra/net.agent
> >> ===================================================================
> >> --- systemd-215.orig/debian/extra/net.agent     2014-09-27 
> >> 17:50:52.000000000 +0200
> >> +++ systemd-215/debian/extra/net.agent  2014-11-02 02:33:40.970469131 +0100
> >> @@ -1,4 +1,4 @@
> >> -#!/bin/sh -e
> >> +#!/bin/bash -e
> 
> [..]
> 
> > This seems to work under both bash and dash:
> > 
> > exec > /dev/null 2> /dev/null
> > do_everything &
> 
> Thanks Ben and Christian for further debugging this.
> I suspected the problem to be related to file descriptors when this
> issue came up on debian-user [1] back in July.
> 
> There I suggested to use
> 
> ( do_everything ) > /dev/null 2> /dev/null &
> 
> as a possible workaround. I don't particularly like using a subshell but
> I'm just posting it for completeness sake here.
> 
> I admit, I don't quite understand Ben's patch, which runs "exec" twice:
> Once before do_everything() and later for the actual ifup/ifdown call.
> What exactly does the first exec do to fix this?

The first exec does file redirection only, and this doesn't leave
duplicate file descriptors.

Ben.

> Marco, do you have any preference?
> 
> Michael
> 
> [1] https://lists.debian.org/debian-user/2014/07/msg01509.html
> 

-- 
Ben Hutchings
Power corrupts.  Absolute power is kind of neat.
                           - John Lehman, Secretary of the US Navy 1981-1987

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to