projects
/
experiments
/
hook-lock.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
exit-post-hook-unlock.sh: use a trap to release the lock
[experiments/hook-lock.git]
/
exit-post-hook-unlock.sh
diff --git
a/exit-post-hook-unlock.sh
b/exit-post-hook-unlock.sh
index
02d3648
..
1db555f
100755
(executable)
--- a/
exit-post-hook-unlock.sh
+++ b/
exit-post-hook-unlock.sh
@@
-19,6
+19,8
@@
LOCKDIR=/run/lock/mylockdir
LOCKPID=$(cat "$LOCKDIR/pid")
[ "$LOCKPID" = $PPID ] || { echo "The enter script was launched from another process. Unlocking aborted." >&2; exit 1; }
LOCKPID=$(cat "$LOCKDIR/pid")
[ "$LOCKPID" = $PPID ] || { echo "The enter script was launched from another process. Unlocking aborted." >&2; exit 1; }
-# Do stuff here
+# Use a trap to release the lock even if the commands below fail.
+trap 'rm -rf "$LOCKDIR"' EXIT
+trap 'exit 2' HUP INT QUIT PIPE TERM
-rm -rf "$LOCKDIR"
+# Do stuff here.