summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo R. Zanoni <paulo@c3sl.ufpr.br>2008-08-22 07:25:23 -0300
committerPaulo R. Zanoni <paulo@c3sl.ufpr.br>2008-08-22 07:25:23 -0300
commit285cc97dc83bc9733f40917c7bff1c7200fac77d (patch)
treec935b08daedb904d801eca5f7799ce0ccbf3ae9a
parent2fb9ba683ec700ee21910e768a74cd6d7ab1088b (diff)
Dont't let mdm start twice. Use a lock file.
-rwxr-xr-xmdm/src/mdm-bin10
1 files changed, 10 insertions, 0 deletions
diff --git a/mdm/src/mdm-bin b/mdm/src/mdm-bin
index 157b984..449cb65 100755
--- a/mdm/src/mdm-bin
+++ b/mdm/src/mdm-bin
@@ -28,6 +28,7 @@ MDM_INCLUDE=${MDM_SCRIPTS}/mdm-common
source $MDM_INCLUDE
MY_LOG=${MDM_LOGS}/mdm.log
+MDM_LOCK_FILE=/var/lock/mdm.lock
CREATE_XORG_CONF=${MDM_SCRIPTS}/create-xorg-conf
START_SEAT=${MDM_SCRIPTS}/mdm-start-seat
@@ -37,6 +38,13 @@ function exec_start() {
log --log-file-only "Multiseat Display Manager version $MDM_VERSION"
log --log-file-only "Today is `date`."
+ if [ -f "$MDM_LOCK_FILE" ]; then
+ log --log-file-only "Error: mdm is already running"
+ exit 1
+ else
+ touch $MDM_LOCK_FILE
+ fi
+
# /var/run is re-created at every reboot
mkdir -p ${MDM_RUN}
@@ -100,6 +108,8 @@ function exec_stop() {
kill `cat $i` 2> /dev/null
rm -f $i
done
+
+ rm -f $MDM_LOCK_FILE
}
function exec_reconfigure() {