You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.4 KiB
55 lines
1.4 KiB
7 years ago
|
autofs-5.0.7 - dont wait forever to restart
|
||
|
|
||
|
From: Ian Kent <ikent@redhat.com>
|
||
|
|
||
|
When restarting autofs the daemon must be stopped before it is started
|
||
|
again if it is to function properly. At the moment the init script waits
|
||
|
forever which is not ok if the daemon won't exit for some reason.
|
||
|
|
||
|
So, if the daemon is still running after the stop, run stop() again, wait
|
||
|
a bit longer and if it still hasn't stopped kill it with a SIGKILL to clear
|
||
|
the way for the startup.
|
||
|
---
|
||
|
|
||
|
CHANGELOG | 1 +
|
||
|
redhat/autofs.init.in | 13 ++++++++++---
|
||
|
2 files changed, 11 insertions(+), 3 deletions(-)
|
||
|
|
||
|
|
||
|
diff --git a/CHANGELOG b/CHANGELOG
|
||
|
index 6051723..93b9c26 100644
|
||
|
--- a/CHANGELOG
|
||
|
+++ b/CHANGELOG
|
||
|
@@ -5,6 +5,7 @@
|
||
|
- fix ipv6 proximity calculation.
|
||
|
- fix parse buffer initialization.
|
||
|
- fix typo in automount(8).
|
||
|
+- dont wait forever to restart.
|
||
|
|
||
|
25/07/2012 autofs-5.0.7
|
||
|
=======================
|
||
|
diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in
|
||
|
index ec6d5d6..cd5cb34 100644
|
||
|
--- a/redhat/autofs.init.in
|
||
|
+++ b/redhat/autofs.init.in
|
||
|
@@ -129,9 +129,16 @@ function restart() {
|
||
|
status autofs > /dev/null 2>&1
|
||
|
if [ $? -eq 0 ]; then
|
||
|
stop
|
||
|
- while [ -n "`pidof $prog`" ] ; do
|
||
|
- sleep 5
|
||
|
- done
|
||
|
+ if [ -n "`pidof $prog`" ]; then
|
||
|
+ # If we failed to stop, try at least one more time
|
||
|
+ # after waiting a little while
|
||
|
+ sleep 20
|
||
|
+ stop
|
||
|
+ auto_pid=`pidof $prog`
|
||
|
+ if [ -n "$auto_pid" ]; then
|
||
|
+ kill -9 $auto_pid
|
||
|
+ fi
|
||
|
+ fi
|
||
|
fi
|
||
|
start
|
||
|
}
|