diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-14 11:08:15 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-14 11:08:15 +0300 |
| commit | f143b6daca50eba520ceaec51c36222ab6ae667d (patch) | |
| tree | 18cc8299b0e87fd8e633334abf74f57fd77f2a44 /internal/daemon | |
| parent | 9d32b8138baf821d72eb1f5a7a218f9b1949c853 (diff) | |
fix(r3): use errors.Is for sentinel error comparisons
Replace direct == checks with errors.Is so wrapped errors are handled
correctly (authkeys Verify, daemon server/EOF, Magefile uninstall).
Refs: ask r3, 100 Go Mistakes #51
Made-with: Cursor
Diffstat (limited to 'internal/daemon')
| -rw-r--r-- | internal/daemon/daemon.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/internal/daemon/daemon.go b/internal/daemon/daemon.go index b913c43..cad2812 100644 --- a/internal/daemon/daemon.go +++ b/internal/daemon/daemon.go @@ -3,6 +3,7 @@ package daemon import ( "bytes" "context" + "errors" "fmt" "io" "log" @@ -131,12 +132,12 @@ func Run(ctx context.Context, cfg Config) error { defer cancel() _ = srv.Shutdown(shutCtx) err := <-errCh - if err != nil && err != http.ErrServerClosed { + if err != nil && !errors.Is(err, http.ErrServerClosed) { return fmt.Errorf("shutdown: %w", err) } return ctx.Err() case err := <-errCh: - if err == http.ErrServerClosed { + if errors.Is(err, http.ErrServerClosed) { return nil } if err != nil { @@ -200,7 +201,7 @@ func checkReadinessDirs(statsDir, authDB string) error { func checkDirReadableWritable(dir string) error { fi, err := os.Stat(dir) if err != nil { - if os.IsNotExist(err) { + if errors.Is(err, os.ErrNotExist) { return fmt.Errorf("missing") } return err @@ -214,7 +215,7 @@ func checkDirReadableWritable(dir string) error { } _, err = f.Readdirnames(1) _ = f.Close() - if err != nil && err != io.EOF { + if err != nil && !errors.Is(err, io.EOF) { return fmt.Errorf("not readable: %w", err) } tmp, err := os.CreateTemp(dir, ".goprecords-ready-*") |
