]> Cypherpunks.ru repositories - goredo.git/commitdiff
Prevent race
authorSergey Matveev <stargrave@stargrave.org>
Sun, 26 Nov 2023 07:53:30 +0000 (10:53 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 26 Nov 2023 07:58:43 +0000 (10:58 +0300)
doc/news.texi
run.go
usage.go

index 2684d05980e30ede550e05f265254b3f2f38928e..989fd30fbee0410feef766239bd3d3621e1fcaf9 100644 (file)
@@ -2,6 +2,14 @@
 @cindex news
 @unnumbered News
 
+@anchor{Release 2_5_0}
+@section Release 2.5.0
+@itemize
+@item
+    Prevent rare race in the code, where externally modified target may
+    panic the program.
+@end itemize
+
 @anchor{Release 2_4_0}
 @section Release 2.4.0
 @itemize
diff --git a/run.go b/run.go
index 3fd4168eef99a4f1feae35302af8abac03157d2e..7ca2a70d5c6f6359881cd6a0bdafba574db0d232 100644 (file)
--- a/run.go
+++ b/run.go
@@ -289,9 +289,11 @@ func runScript(tgt *Tgt, errs chan error, forced, traced bool) error {
                if StopIfMod {
                        return fmt.Errorf("%s externally modified", tgt)
                }
+               Jobs.Add(1)
                tracef(CWarn, "%s externally modified: not redoing", tgt)
                go func() {
                        errs <- nil
+                       Jobs.Done()
                }()
                return nil
        }
index cb2761f58700d113ba87bf4545c3e866a8bf5b29..0a7cd6aaf93410eaff8f5660e4fe4f51751da012 100644 (file)
--- a/usage.go
+++ b/usage.go
@@ -24,7 +24,7 @@ import (
 )
 
 const (
-       Version  = "2.4.0"
+       Version  = "2.5.0"
        Warranty = `Copyright (C) 2020-2023 Sergey Matveev
 
 This program is free software: you can redistribute it and/or modify