From f85b073ee154a49bbd7ca0b6b2a68add4968700c Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 28 Jan 2021 21:13:22 +0300 Subject: [PATCH] Pipes can fail at OS level, do not panic --- js.go | 6 +++--- main.go | 4 ++-- status.go | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/js.go b/js.go index 2efdd16..701d26d 100644 --- 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 734239b..2007215 100644 --- 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( diff --git a/status.go b/status.go index 139ceb7..e6c9b31 100644 --- 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 -- 2.44.0