/*
-goredo -- redo implementation on pure Go
+goredo -- djb's redo implementation on pure Go
Copyright (C) 2020-2021 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
JSR, JSW, err = os.Pipe()
if err != nil {
- panic(err)
+ log.Fatalln(err)
}
for i := uint64(0); i < jobs; i++ {
jsRelease("initial fill")
func jsReleaseNoLock() {
if n, err := JSW.Write([]byte{0}); err != nil || n != 1 {
- panic("can not write JSW")
+ log.Fatalln("can not write JSW:", err)
}
}
}
trace(CJS, "acquire for %s", ctx)
if n, err := JSR.Read([]byte{0}); err != nil || n != 1 {
- panic("can not read JSR")
+ log.Fatalln("can not read JSR:", err)
}
jsTokensM.Lock()
jsTokens++