Enable errcheck linter and fix all production code warnings
- Enabled errcheck linter (previously disabled)
- Set tests: false in .golangci.yml to focus on production code
- Fixed 27 errcheck warnings using Go best practices:
* Database resources: defer func() { _ = rows.Close() }()
* Transaction rollbacks: defer func() { _ = tx.Rollback() }()
* Best-effort closers: _ = store.Close(), _ = client.Close()
* File writes: proper error checking on Close()
* Interactive input: handle EOF gracefully
* File ops: ignore ENOENT on os.Remove()
- All tests pass
- Closes bd-58
Amp-Thread-ID: https://ampcode.com/threads/T-57c9afd3-9adf-40c2-8be7-3e493d200361
Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
@@ -587,7 +587,7 @@ func restartDaemonForVersionMismatch() bool {
|
||||
cmd.Stdin = devNull
|
||||
cmd.Stdout = devNull
|
||||
cmd.Stderr = devNull
|
||||
defer devNull.Close()
|
||||
defer func() { _ = devNull.Close() }()
|
||||
}
|
||||
|
||||
if err := cmd.Start(); err != nil {
|
||||
@@ -637,7 +637,11 @@ func tryAutoStartDaemon(socketPath string) bool {
|
||||
if !acquireStartLock(lockPath, socketPath) {
|
||||
return false
|
||||
}
|
||||
defer os.Remove(lockPath)
|
||||
defer func() {
|
||||
if err := os.Remove(lockPath); err != nil && !os.IsNotExist(err) {
|
||||
debugLog("failed to remove lock file: %v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
if handleExistingSocket(socketPath) {
|
||||
return true
|
||||
@@ -777,7 +781,7 @@ func setupDaemonIO(cmd *exec.Cmd) {
|
||||
cmd.Stdin = devNull
|
||||
go func() {
|
||||
time.Sleep(1 * time.Second)
|
||||
devNull.Close()
|
||||
_ = devNull.Close()
|
||||
}()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user