]> Cypherpunks.ru repositories - goredo.git/commitdiff
Pipes can fail at OS level, do not panic
authorSergey Matveev <stargrave@stargrave.org>
Thu, 28 Jan 2021 18:13:22 +0000 (21:13 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 29 Jan 2021 08:06:21 +0000 (11:06 +0300)
js.go
main.go
status.go

diff --git a/js.go b/js.go
index 2efdd162e84a20160118a517366ad89212dd05b0..701d26d39683891c0a01762758f3ce63358f1cea 100644 (file)
--- a/js.go
+++ b/js.go
@@ -92,7 +92,7 @@ func jsInit() {
 
        JSR, JSW, err = os.Pipe()
        if err != nil {
-               panic(err)
+               log.Fatalln(err)
        }
        for i := uint64(0); i < jobs; i++ {
                jsRelease("initial fill")
@@ -101,7 +101,7 @@ func jsInit() {
 
 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)
        }
 }
 
@@ -124,7 +124,7 @@ func jsAcquire(ctx string) {
        }
        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++
diff --git a/main.go b/main.go
index 734239b682d5bdac63e48e5afe955509349be6b1..20072155f67c423ac294d82014af923f90f5280d 100644 (file)
--- a/main.go
+++ b/main.go
@@ -96,7 +96,7 @@ func main() {
        var err error
        Cwd, err = os.Getwd()
        if err != nil {
-               panic(err)
+               log.Fatalln(err)
        }
 
        NoColor = os.Getenv(EnvNoColor) != ""
@@ -178,7 +178,7 @@ func main() {
        if BuildUUID == "" {
                raw := new([16]byte)
                if _, err = io.ReadFull(rand.Reader, raw[:]); err != nil {
-                       panic(err)
+                       log.Fatalln(err)
                }
                raw[6] = (raw[6] & 0x0F) | uint8(4<<4) // version 4
                BuildUUID = fmt.Sprintf(
index 139ceb75f9951e7540d55f07733f2dfda5481ce6..e6c9b3124ab12687c979096e8ea8dad2b722ad81 100644 (file)
--- a/status.go
+++ b/status.go
@@ -20,6 +20,7 @@ package main
 import (
        "flag"
        "fmt"
+       "log"
        "os"
 )
 
@@ -57,7 +58,7 @@ func statusInit() {
        var err error
        r, FdStatus, err = os.Pipe()
        if err != nil {
-               panic(err)
+               log.Fatalln(err)
        }
        go func() {
                running := 0