[macOS] use shlock instead of flock in fetch-params

This commit is contained in:
kozyilmaz
2017-12-17 20:18:03 +03:00
parent 3c3623ef23
commit 4c2120c736

View File

@@ -2,7 +2,11 @@
set -eu set -eu
PARAMS_DIR="$HOME/.zcash-params" if [[ "$OSTYPE" == "darwin"* ]]; then
PARAMS_DIR="$HOME/Library/Application Support/ZcashParams"
else
PARAMS_DIR="$HOME/.zcash-params"
fi
SPROUT_PKEY_NAME='sprout-proving.key' SPROUT_PKEY_NAME='sprout-proving.key'
SPROUT_VKEY_NAME='sprout-verifying.key' SPROUT_VKEY_NAME='sprout-verifying.key'
@@ -125,12 +129,20 @@ EOF
# Use flock to prevent parallel execution. # Use flock to prevent parallel execution.
function lock() { function lock() {
local lockfile=/tmp/fetch_params.lock local lockfile=/tmp/fetch_params.lock
# create lock file if [[ "$OSTYPE" == "darwin"* ]]; then
eval "exec 200>/$lockfile" if shlock -f ${lockfile} -p $$; then
# acquire the lock return 0
flock -n 200 \ else
&& return 0 \ return 1
|| return 1 fi
else
# create lock file
eval "exec 200>/$lockfile"
# acquire the lock
flock -n 200 \
&& return 0 \
|| return 1
fi
} }
function exit_locked_error { function exit_locked_error {