summaryrefslogtreecommitdiff
path: root/functions/lockfile.sh
diff options
context:
space:
mode:
Diffstat (limited to 'functions/lockfile.sh')
-rwxr-xr-xfunctions/lockfile.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/functions/lockfile.sh b/functions/lockfile.sh
new file mode 100755
index 0000000..9eb2f9b
--- /dev/null
+++ b/functions/lockfile.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# lockfile.sh - handle lock files
+
+set -e
+
+Check_lockfile ()
+{
+ LOCKFILE="${1}"
+
+ # Checking lock file
+ if [ -f "${LOCKFILE}" ]
+ then
+ echo "E: system locked"
+ exit 1
+ fi
+}
+
+Create_lockfile ()
+{
+ LOCKFILE="${1}"
+ LOCKDIRECTORY="`dirname ${1}`"
+
+ # Creating lock directory
+ if [ ! -d "${LOCKDIRECTORY}" ]
+ then
+ mkdir -p "${LOCKDIRECTORY}"
+ fi
+
+ # Creating lock file
+ trap "test -f ${LOCKFILE} && \
+ rm -f ${LOCKFILE}; exit 0" 0 2 15
+
+ touch "${LOCKFILE}"
+}