Denys Vlasenko wrote:
On Wed, Apr 21, 2010 at 11:16 AM,  <[email protected]> wrote:
From: Jeroen De Wachter <[email protected]>

when ifdown gets called on a configuration that uses DHCP, it
kills the udhcpc client by killing the process with the id in
the udhcpc pid file (/var/run/udhcpc.%iface%.pid)

However, when avahi-autoipd is in play, that pid file does not
exist (due to a modified /usr/share/udhcpc/default.script that
launches the avahi autoipd stuff) and killing the process
fails.

Due to the way iface_down is written:

static int iface_down(struct interface_defn_t *iface)
{
   if (!iface->method->down(iface,check)) return -1;
   set_environ(iface, "stop");
   if (!execute_all(iface, "down")) return 0;
   if (!iface->method->down(iface, doit)) return 0; // <-- returns prematurely
   if (!execute_all(iface, "post-down")) return 0;
   return 1;
}

the post-down scripts are no longer executed, even though
nothing has actually gone wrong...

I do not want to add more special cases to ifupdown.
There is a potentially infinite number of them.
Use something better than ifupdown.

How is this a special case?
"If the pid file does not exists, don't try to read it...", is basically my change

I imagine there will be circumstances other than using avahi where this will be an issue?



DISCLAIMER:
Unless indicated otherwise, the information contained in this message is 
privileged and confidential, and is intended only for the use of the 
addressee(s) named above and others who have been specifically authorized to 
receive it. If you are not the intended recipient, you are hereby notified that 
any dissemination, distribution or copying of this message and/or attachments 
is strictly prohibited. The company accepts no liability for any damage caused 
by any virus transmitted by this email. Furthermore, the company does not 
warrant a proper and complete transmission of this information, nor does it 
accept liability for any delays. If you have received this message in error, 
please contact the sender and delete the message. Thank you.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to