X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=js.go;h=2efdd162e84a20160118a517366ad89212dd05b0;hb=7eabb39c54b96fca347a0576f501239d89bd8ec6;hp=d160c1091a28995a471c2e6ae2b30de83276daf1;hpb=66de71f560cd772e7ef9e9cf1182ce67e495b1ec;p=goredo.git diff --git a/js.go b/js.go index d160c10..2efdd16 100644 --- a/js.go +++ b/js.go @@ -1,6 +1,6 @@ /* -goredo -- redo implementation on pure Go -Copyright (C) 2020 Sergey Matveev +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 it under the terms of the GNU General Public License as published by @@ -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)