2007-09-23 08:04:46 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
2010-09-02 11:12:37 +00:00
|
|
|
## live-build(7) - System Build Scripts
|
2020-03-11 09:07:21 -01:00
|
|
|
## Copyright (C) 2016-2020 The Debian Live team
|
2015-01-04 18:05:39 -01:00
|
|
|
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
|
2010-09-02 11:12:37 +00:00
|
|
|
##
|
2012-07-29 23:59:00 +00:00
|
|
|
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
|
2010-09-02 11:12:37 +00:00
|
|
|
## This is free software, and you are welcome to redistribute it
|
|
|
|
## under certain conditions; see COPYING for details.
|
|
|
|
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2015-02-05 02:30:47 -01:00
|
|
|
Acquire_lockfile ()
|
2007-09-23 08:04:46 +00:00
|
|
|
{
|
2015-02-05 02:30:47 -01:00
|
|
|
local FILE="${1:-.lock}"
|
|
|
|
Check_lockfile "${FILE}"
|
|
|
|
Create_lockfile "${FILE}"
|
|
|
|
}
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2015-02-05 02:30:47 -01:00
|
|
|
Check_lockfile ()
|
|
|
|
{
|
|
|
|
local FILE="${1}"
|
2008-11-01 12:40:21 -01:00
|
|
|
|
2015-02-05 02:30:47 -01:00
|
|
|
if [ -f "${FILE}" ]; then
|
|
|
|
Echo_error "${PROGRAM} already locked"
|
2007-09-23 08:04:46 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
Create_lockfile ()
|
|
|
|
{
|
2015-02-05 02:30:47 -01:00
|
|
|
local FILE="${1}"
|
2008-11-01 12:40:21 -01:00
|
|
|
|
2015-02-05 02:30:47 -01:00
|
|
|
# Create lock trap
|
|
|
|
# This automatically removes the lock file in certain conditions
|
2008-10-31 04:45:05 -01:00
|
|
|
trap 'ret=${?}; '"rm -f \"${FILE}\";"' exit ${ret}' EXIT HUP INT QUIT TERM
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2007-11-13 10:56:48 -01:00
|
|
|
# Creating lock file
|
|
|
|
touch "${FILE}"
|
2007-09-23 08:04:46 +00:00
|
|
|
}
|
2015-02-05 02:30:47 -01:00
|
|
|
|
|
|
|
Remove_lockfile ()
|
|
|
|
{
|
|
|
|
local FILE="${1:-.lock}"
|
|
|
|
|
|
|
|
rm -f "${FILE}"
|
|
|
|
}
|