File tree 1 file changed +13
-4
lines changed
1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -13,7 +13,6 @@ tagtrylock() {
13
13
14
14
showlock () {
15
15
TAG=" $1 "
16
- echo " $1 "
17
16
git tag -l --format=' %0auser%09%09%(taggername)%0a%0a%(body)' $TAG | grep ' .' || return 1
18
17
echo " "
19
18
}
@@ -108,7 +107,7 @@ lockloop() {
108
107
LASTLOCKEDTAG=" __"
109
108
TAG=" "
110
109
while true ; do # in fact there must be timeout or number of tries limit
111
- TAG=" lock-$( uuid -v4 ) "
110
+ TAG=" lock-$( cat /dev/urandom | head -c 256 | sha1sum | cut -d " " -f1 ) "
112
111
LOCKEDTAG=" "
113
112
cycle " $TAG " " $OPERATION "
114
113
RESULT=" $? "
@@ -196,6 +195,8 @@ while [ "$1" != "" ]; do
196
195
echo " lock name must be provided"
197
196
exit 1
198
197
fi
198
+
199
+ echo " $2 "
199
200
showlock " $2 "
200
201
if [[ " $? " != 0 ]]; then
201
202
echo " error during getting lock info. No such lock?"
@@ -257,9 +258,17 @@ TAG=""
257
258
258
259
lockloop " $OPERATION " || exit $?
259
260
echo " Acquired lock $TAG "
261
+
262
+ cleanup () {
263
+ clean " $TAG "
264
+ }
265
+
266
+ trap cleanup EXIT
267
+
260
268
(" $@ " )
269
+ RESULT=" $? "
261
270
262
271
echo " Releasing lock $TAG "
263
- clean " $TAG "
272
+ clean " $TAG " || true
264
273
265
- exit $?
274
+ exit $RESULT
You can’t perform that action at this time.
0 commit comments