]> Cypherpunks.ru repositories - goredo.git/commitdiff
EDEADLK is regular non-warning error v1.32.0
authorSergey Matveev <stargrave@stargrave.org>
Mon, 25 Sep 2023 16:02:27 +0000 (19:02 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 25 Sep 2023 16:05:39 +0000 (19:05 +0300)
doc/news.texi
run.go
usage.go

index 1013994035d5cb7a8fb23aadb690f404eba6902e..cdaac282dccfb24e7b724bad6e5ace0cb4259ccf 100644 (file)
@@ -2,6 +2,14 @@
 @cindex news
 @unnumbered News
 
+@anchor{Release 1_32_0}
+@section Release 1.32.0
+@itemize
+@item
+    Omit printing of the @code{resource deadlock avoided} warning when
+    trying to take the lock.
+@end itemize
+
 @anchor{Release 1_31_0}
 @section Release 1.31.0
 @itemize
diff --git a/run.go b/run.go
index 566f7adbab83e52a191ed2498777d26267630bff..0bc3155661143249eef83b592e69d0506c980090 100644 (file)
--- a/run.go
+++ b/run.go
@@ -242,15 +242,13 @@ func runScript(tgtOrig string, errs chan error, forced, traced bool) error {
                go func() {
                        defer Jobs.Done()
                        tracef(CLock, "LOCK_EX: %s", fdLock.Name())
-                       takeTries := 0
                LockAgain:
                        if err := unix.FcntlFlock(fdLock.Fd(), unix.F_SETLKW, &flock); err != nil {
-                               time.Sleep(10 * time.Millisecond)
-                               takeTries++
-                               if takeTries%10 == 0 {
-                                       log.Println(err, fdLock.Name(), "after", takeTries, "attempts")
+                               if errors.Is(err, unix.EDEADLK) {
+                                       time.Sleep(10 * time.Millisecond)
+                                       goto LockAgain
                                }
-                               goto LockAgain
+                               log.Fatalln(err, fdLock.Name())
                        }
                        lockRelease()
                        tracef(CDebug, "waiting done: %s", tgtOrig)
index 6e43b57e832b4c929b5792c2f7fea448bbe0af7a..6f6a5ccb8e8c737453d118a39e656ef456d9ba92 100644 (file)
--- a/usage.go
+++ b/usage.go
@@ -24,7 +24,7 @@ import (
 )
 
 const (
-       Version  = "1.31.0"
+       Version  = "1.32.0"
        Warranty = `Copyright (C) 2020-2023 Sergey Matveev
 
 This program is free software: you can redistribute it and/or modify