]> Cypherpunks.ru repositories - goredo.git/blobdiff - js.go
REDO_JOBS must not precede -j
[goredo.git] / js.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)