]> Cypherpunks.ru repositories - goredo.git/commitdiff
REDO_JOBS must not precede -j
authorSergey Matveev <stargrave@stargrave.org>
Sun, 10 Jan 2021 11:40:17 +0000 (14:40 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 10 Jan 2021 11:40:17 +0000 (14:40 +0300)
js.go
news.texi
usage.go

diff --git a/js.go b/js.go
index 9f2adaa5abb1982bb0fc3d1f79c52fd609cee126..a984669198d935c2796c04f4e1c2f45f57e078ae 100644 (file)
--- a/js.go
+++ b/js.go
@@ -42,7 +42,7 @@ var (
        jsTokens  int
        jsTokensM sync.Mutex
 
-       flagJobs = flag.Uint64("j", 1, fmt.Sprintf("number of parallel jobs (0=inf) (%s)", EnvJobs))
+       flagJobs = flag.Int("j", -1, fmt.Sprintf("number of parallel jobs (0=inf, <0=1) (%s)", EnvJobs))
 )
 
 func jsInit() {
@@ -73,22 +73,23 @@ func jsInit() {
                return
        }
 
-       var jobs uint64
-       if v := os.Getenv(EnvJobs); v != "" {
-               var err error
+       jobs := uint64(1)
+       var err error
+       if *flagJobs == 0 {
+               jobs = 0
+       } else if *flagJobs > 0 {
+               jobs = uint64(*flagJobs)
+       } else if v := os.Getenv(EnvJobs); v != "" {
                jobs, err = strconv.ParseUint(v, 10, 64)
                if err != nil {
                        log.Fatalln("can not parse", EnvJobs, err)
                }
-       } else {
-               jobs = *flagJobs
        }
        if jobs == 0 {
                // infinite jobs
                return
        }
 
-       var err error
        JSR, JSW, err = os.Pipe()
        if err != nil {
                panic(err)
index 5796ba67a041d3982109b40e4396b43827d7a0dc..de7f880c788b1c764c988ee9a9b5e6521ee51b52 100644 (file)
--- a/news.texi
+++ b/news.texi
@@ -3,6 +3,12 @@
 
 @table @strong
 
+@anchor{Release 0.11.0}
+@item 0.11.0
+    Previously @env{REDO_JOBS} overrided even explicitly specified
+    @option{-j} option. Fix that behaviour -- command line options must
+    precede environment variables.
+
 @anchor{Release 0.10.0}
 @item 0.10.0
     Initial tarballed release.
index 57791094ee252f516831d26aa8153ff90e576734..f7ca0443fecf00d3d6d61c64633855028b47d503 100644 (file)
--- a/usage.go
+++ b/usage.go
@@ -26,7 +26,7 @@ import (
 )
 
 const (
-       Version  = "0.10.0"
+       Version  = "0.11.0"
        Warranty = `This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, version 3 of the License.