FS#11345 - Network Manager initscript does not wait for daemon to stop, resulting in failed restarts

Attached to Project: Arch Linux
Opened by Ryan (DarwinAwardWinner) - Saturday, 30 August 2008, 01:47 GMT
Last edited by Allan McRae (Allan) - Saturday, 30 August 2008, 02:17 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version None
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: When killing the Network Manager daemon, the init script simply sends the kill signal and assumes the daemon is dead. In fact, the daemon takes several seconds to die after it receives the kill signal. When issuing a restart, the init script does not wait long enough for the daemon to die, so the start fails.

Steps to reproduce:
# /etc/rc.d/networkmanager stop
:: Stopping NetworkManager [DONE]
# /etc/rc.d/networkmanager start
:: Starting NetworkManager [FAIL]
# sleep 10; /etc/rc.d/networkmanager start
:: Starting NetworkManager [DONE]

Solution:
Make these changes to /etc/rc.d/networkmanager to ensure that the stop command waits until the daemon is dead:
37a38,42
> while [ ! -z "$PID" ]; do
> PID=`pidof -o %PPID $NETWORKMANAGER_BIN`
> sleep 1
> done
>
47d51
< sleep 1
This task depends upon

Closed by  Allan McRae (Allan)
Saturday, 30 August 2008, 02:17 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#8259 

Loading...