doc/news.texi | 8 ++++++++ run.go | 2 ++ usage.go | 2 +- diff --git a/doc/news.texi b/doc/news.texi index aabdf457f02fd4dcc7d95120c741b9769847adc4974db0fad43685d8fe3ce8b0..e359b50f8d2ba215380b678d72dde5f3638281b0e70af77e7b4b33f948c17ef5 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -2,6 +2,14 @@ @node News @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 a5c842a198e0d43778069c24b6530c7ae6a95f150689400540ff8eece5ad603b..7abfc10a9eacde19a20be0ece8099eaed3b2bb00021b9323a0fad9dc238f08b9 100644 --- a/run.go +++ b/run.go @@ -289,9 +289,11 @@ lockRelease() 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 } diff --git a/usage.go b/usage.go index 875715c49f6b9fa364537fcb021446ed3537d3f6bbfb5dd3a0a996c92315e1aa..ecfd24d2ecfdf1f02653eed9d51cd6848022402880b81dcae31284aac1cde42c 100644 --- a/usage.go +++ b/usage.go @@ -24,7 +24,7 @@ "os" ) 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