X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=js.go;h=2efdd162e84a20160118a517366ad89212dd05b0;hb=9e1cd5bf6c54ecad62b38a4f9eb2192e2924e46c;hp=9f2adaa5abb1982bb0fc3d1f79c52fd609cee126;hpb=edb601644735972fac3efcdc27849b5b9b1f5fb7;p=goredo.git diff --git a/js.go b/js.go index 9f2adaa..2efdd16 100644 --- a/js.go +++ b/js.go @@ -1,5 +1,5 @@ /* -goredo -- redo implementation on pure Go +goredo -- djb's redo implementation on pure Go Copyright (C) 2020-2021 Sergey Matveev This program is free software: you can redistribute it and/or modify @@ -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)