]> Cypherpunks.ru repositories - goredo.git/commitdiff
Do not remove .lock
authorSergey Matveev <stargrave@stargrave.org>
Mon, 14 Nov 2022 14:33:12 +0000 (17:33 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 14 Nov 2022 14:57:19 +0000 (17:57 +0300)
cleanup.go
doc/news.texi
run.go
usage.go

index d25aa3de02e91b31aabf7b758564f3de739eb244..09a72203ad2be8bcb29162128fcfe8fc9be78dc3 100644 (file)
@@ -32,6 +32,7 @@ const (
        CleanupFull = "full"
        CleanupLog  = "log"
        CleanupTmp  = "tmp"
+       CleanupLock = "lock"
 )
 
 var DryRun *bool
@@ -75,6 +76,15 @@ func redoDirClean(root, what string) error {
                                                }
                                        }
                                }
+                       case CleanupLock:
+                               if strings.HasSuffix(fi.Name(), LockSuffix) {
+                                       fmt.Println(pth)
+                                       if !*DryRun {
+                                               if err = os.Remove(pth); err != nil {
+                                                       return err
+                                               }
+                                       }
+                               }
                        case CleanupTmp:
                                if strings.HasPrefix(fi.Name(), TmpPrefix) {
                                        fmt.Println(pth)
index 2e4a72b29a4fcc174f6cf0018267f4498ba685b7..fbfc811c95501d27384abb11800a7b808a24eed3 100644 (file)
@@ -2,6 +2,15 @@
 @cindex news
 @unnumbered News
 
+@anchor{Release 1_28_0}
+@section Release 1.28.0
+@itemize
+@item
+    Do not remove @file{.lock} files, that leads to possible races
+    between running targets. Although @command{nncp-cleanup lock}
+    can be used to cleanup.
+@end itemize
+
 @anchor{Release 1_27_1}
 @section Release 1.27.1
 @itemize
diff --git a/run.go b/run.go
index 985db83918e0879af20b3988215ab3f96b957f03..01da3b26b4cfe1010c57fa6397415d4766fad007 100644 (file)
--- a/run.go
+++ b/run.go
@@ -577,7 +577,6 @@ func runScript(tgtOrig string, errs chan error, traced bool) error {
                        os.Remove(fdDep.Name())
                        os.Remove(fdStdout.Name())
                        os.Remove(tmpPath)
-                       os.Remove(fdLock.Name())
                        if FdStatus != nil {
                                if _, err = FdStatus.Write([]byte{StatusDone}); err != nil {
                                        log.Fatalln(err)
index a4db6e444ad8c38cd81a85510171c62d4f6ec7ca..0b5fcf08f83c5e6437ab62edb5b7224fe8c6098e 100644 (file)
--- a/usage.go
+++ b/usage.go
@@ -24,7 +24,7 @@ import (
 )
 
 const (
-       Version  = "1.27.1"
+       Version  = "1.28.0"
        Warranty = `Copyright (C) 2020-2022 Sergey Matveev
 
 This program is free software: you can redistribute it and/or modify
@@ -62,10 +62,10 @@ Record ifcreate dependency for current target. Unusable outside .do.`
 
 Always build current target. Unusable outside .do.`
        case CmdNameRedoCleanup:
-               d = `Usage: redo-cleanup [-n] {full,log,tmp} [...]
+               d = `Usage: redo-cleanup [-n] {full,log,lock,tmp} [...]
 
-Remove either all goredo's related temporary files, or kept stderr
-logs, or everything (including .redo directories) related.`
+Remove either all of goredo's related temporary files, or kept stderr
+logs, or lock files, or everything (including .redo directories) related.`
        case CmdNameRedoLog:
                d = `Usage: redo-log [-c] [-r] target [ | tai64nlocal ]