2007/6/18, Joey Hess <[EMAIL PROTECTED]>:
My laptop runs ifup wlan0 in the background on resume, and ifdown wlan0 on hibernate. I was suprised to see that the ifdown doesn't always actually stop the dhclient3 process started by the ifup. This can easily be reproduced by turning off wireless at the hardware level, and running ifup in one terminal and ifdown on a second. You'll see the ifup start dhclient3 which futiley try to get a lease. Then when ifdown runs, it calls dhclient3 -r, but this doesn't stop the dhclient3, as it has not obtained a lease yet. If you ifup and ifdown several times in this situation, several dhclient3 and ifup processes will end up running at the same time.
Hmmm.. I've tried to patch ifupdown in order to kill dhclient3 based on its PID file, but the problem is that dhclient3 will not write its PID file (at /var/run/) until it times out asking for a lease. That means that even with some code trying to kill dhclient3 based on its PID it will be unable to kill it while it is still running trying to get a lease. We could, however, try to stop it (if the PID file exists) before upping the interface. I'm doing some tests and will submit some patches to the BTS later. Regards Javier -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]