From c57b749af348f76b30c20774444ed48b200a1f2e Mon Sep 17 00:00:00 2001 From: Daniel Joseph Barnhart Clark Date: Sun, 25 Feb 2007 15:58:21 +0000 Subject: EncapPackages: Updates for runit encap git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2868 ce84e21b-d406-0410-9b95-82705330c041 --- encap/src/encap-profiles/bcfg2-0.9.2.ep | 20 ++++++++++---------- encap/src/encap-profiles/runit-1.7.2.ep | 28 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 10 deletions(-) (limited to 'encap') diff --git a/encap/src/encap-profiles/bcfg2-0.9.2.ep b/encap/src/encap-profiles/bcfg2-0.9.2.ep index c78c59171..b32a799a2 100644 --- a/encap/src/encap-profiles/bcfg2-0.9.2.ep +++ b/encap/src/encap-profiles/bcfg2-0.9.2.ep @@ -394,16 +394,16 @@ if [ "${RUN_INTERVAL_SECONDS}x" = "x" ]; then RUN_INTERVAL_SECONDS=3600 fi -# loop forever -while : -do - printf "*** starting /usr/local/bin/bcfg2 ${OPTIONS} ...\n" - /usr/local/bin/bcfg2 ${OPTIONS} - printf "*** sleeping ${RUN_INTERVAL_SECONDS} seconds ...\n" - sleep ${RUN_INTERVAL_SECONDS} -done - -exit 0 +# Run bcfg2 and then sleep (runsv takes care of starting up script +# again after it exits). Need to exec sleep so runit can exit +# cleanly while the sleep is in progress; see: +# http://comments.gmane.org/gmane.comp.sysutils.supervision.general/1373 +# for more information on why this is required (short reason: runit is +# more anal about making sure things are logged than daemontools) +printf "*** starting /usr/local/bin/bcfg2 ${OPTIONS} ...\n" +/usr/local/bin/bcfg2 ${OPTIONS} +printf "*** sleeping ${RUN_INTERVAL_SECONDS} seconds ...\n" +exec sleep ${RUN_INTERVAL_SECONDS} ]]> /dev/null || printf "No services to disable.\n" +printf "Waiting 7 more seconds for runsv processes to die...\n" +sleep 7 +for service in `ls /usr/local/etc/sv`; do + test -d /usr/local/etc/sv/$service/supervise && rm -rf /usr/local/etc/sv/$service/supervise + test -d /usr/local/etc/sv/$service/log/supervise && rm -rf /usr/local/etc/sv/$service/log/supervise +done printf "Finished runit preremove script.\n" ]]> -- cgit v1.2.3-1-g7c22