summaryrefslogtreecommitdiffstats
path: root/named.init
diff options
context:
space:
mode:
authorcvsdist <cvsdist@fedoraproject.org>2004-09-09 03:30:22 +0000
committercvsdist <cvsdist@fedoraproject.org>2004-09-09 03:30:22 +0000
commit0a52a5ff3c734339a30c83df212153b38737ac7a (patch)
tree4068381eaf6d7ad3c9dfdb81549525abb83dae6b /named.init
parenta93eac9da5dc0f96ec2a6a6ce5627b6ead7008f9 (diff)
auto-import changelog data from bind-9.1.3-3.src.rpmbind-9_1_3-3
Thu Jul 19 2001 Bernhard Rosenkraenzer <bero@redhat.com> 9.1.3-3 - Add build dependencies (#49368) - Make sure running service named start several times doesn't create useless processes (#47596) - Work around the named parent process returning 0 even if the config file is broken (it's parsed later by the child processes) (#45484)
Diffstat (limited to 'named.init')
-rwxr-xr-xnamed.init19
1 files changed, 17 insertions, 2 deletions
diff --git a/named.init b/named.init
index 636d9c6..c5d27b8 100755
--- a/named.init
+++ b/named.init
@@ -28,13 +28,28 @@ prog="named"
start() {
# Start daemons.
+ if [ -n "`/sbin/pidof named`" ]; then
+ echo -n $"$prog: already running"
+ return 1
+ fi
echo -n $"Starting $prog: "
if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
OPTIONS="${OPTIONS} -t ${ROOTDIR}"
fi
- daemon named -u named ${OPTIONS}
+ # Since named doesn't return proper exit codes at the moment
+ # (won't be fixed before 9.2), we can't use daemon here - emulate
+ # its functionality
+ base=$prog
+ named -u named ${OPTIONS}
RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
+ usleep 100000
+ if [ -z "`/sbin/pidof named`" ]; then
+ # The child processes have died after fork()ing, e.g.
+ # because of a broken config file
+ RETVAL=1
+ fi
+ [ $RETVAL -ne 0 ] && failure $"$base startup"
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named && success $"$base startup"
echo
return $RETVAL
}