From 778eac65d35163a2c25b2c3fbacffd7ee724e58d Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sun, 06 Dec 2015 23:58:44 -0500 Subject: Move lib/*.sh to src/ --- (limited to 'lib/mutex.sh') diff --git a/lib/mutex.sh b/lib/mutex.sh deleted file mode 100644 index cd4a365..0000000 --- a/lib/mutex.sh +++ /dev/null @@ -1,54 +0,0 @@ -# Functions for locking and unlocking mutex objects -# -# Copyright (C) 2014 Patrick "P. J." McDermott -# -# This file is part of the ProteanOS Development Kit. -# -# The ProteanOS Development Kit is free software: you can redistribute -# it and/or modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# The ProteanOS Development Kit is distributed in the hope that it -# will be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with the ProteanOS Development Kit. If not, see -# . - -mutex_trylock() -{ - local mutex="${1}" - - (set -C; printf '%d\n' "${$}" >"${mutex}") 2>/dev/null -} - -mutex_timedlock() -{ - local mutex="${1}" - local timeout="${2}" - - while ! mutex_trylock "${mutex}"; do - [ ${timeout} -eq 0 ] && return 1 - timeout=$(($timeout - 1)) - sleep 1 - done - - return 0 -} - -mutex_unlock() -{ - local mutex="${1}" - - rm "${mutex}" -} - -mutex_is_unlockable() -{ - local mutex="${1}" - - [ "x$(cat "${mutex}" 2>/dev/null)" = "x${$}" ] -} -- cgit v0.9.1