exit-post-hook-unlock.sh: use a trap to release the lock master
authorAntonio Ospite <ao2@ao2.it>
Thu, 13 Dec 2018 15:34:53 +0000 (16:34 +0100)
committerAntonio Ospite <ao2@ao2.it>
Thu, 13 Dec 2018 15:34:53 +0000 (16:34 +0100)
Use a trap to release the lock, this way the lock would be more robustly
released when the exit hook is called, even if some commands in the exit
hook failed.

exit-post-hook-unlock.sh

index 02d3648..1db555f 100755 (executable)
@@ -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; }
 
-# 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.