Update bd-1048 with investigation findings

This commit is contained in:
Steve Yegge
2025-11-02 22:12:21 -08:00
parent 7fe7d4d50a
commit 63ff9b93bc
3 changed files with 26 additions and 10 deletions

View File

@@ -178,7 +178,11 @@ func (s *Server) handleSignals() {
}
func (s *Server) handleConnection(conn net.Conn) {
defer func() { _ = conn.Close() }()
fmt.Fprintf(os.Stderr, "Debug: handleConnection started (bd-1048)\n")
defer func() {
fmt.Fprintf(os.Stderr, "Debug: handleConnection closing (bd-1048)\n")
_ = conn.Close()
}()
// Recover from panics to prevent daemon crash (bd-1048)
defer func() {
@@ -192,15 +196,19 @@ func (s *Server) handleConnection(conn net.Conn) {
writer := bufio.NewWriter(conn)
for {
fmt.Fprintf(os.Stderr, "Debug: waiting for request (bd-1048)\n")
// Set read deadline for the next request
if err := conn.SetReadDeadline(time.Now().Add(s.requestTimeout)); err != nil {
fmt.Fprintf(os.Stderr, "Debug: SetReadDeadline error: %v (bd-1048)\n", err)
return
}
line, err := reader.ReadBytes('\n')
if err != nil {
fmt.Fprintf(os.Stderr, "Debug: ReadBytes error: %v (bd-1048)\n", err)
return
}
fmt.Fprintf(os.Stderr, "Debug: received request line (bd-1048)\n")
var req Request
if err := json.Unmarshal(line, &req); err != nil {
@@ -211,14 +219,18 @@ func (s *Server) handleConnection(conn net.Conn) {
s.writeResponse(writer, resp)
continue
}
fmt.Fprintf(os.Stderr, "Debug: parsed request operation: %s (bd-1048)\n", req.Operation)
// Set write deadline for the response
if err := conn.SetWriteDeadline(time.Now().Add(s.requestTimeout)); err != nil {
fmt.Fprintf(os.Stderr, "Debug: SetWriteDeadline error: %v (bd-1048)\n", err)
return
}
resp := s.handleRequest(&req)
fmt.Fprintf(os.Stderr, "Debug: handleRequest returned, writing response (bd-1048)\n")
s.writeResponse(writer, resp)
fmt.Fprintf(os.Stderr, "Debug: response written (bd-1048)\n")
}
}