server: Don't recover from panics
This commit is contained in:
10
server.go
10
server.go
@@ -6,7 +6,6 @@ import (
|
||||
"errors"
|
||||
"log"
|
||||
"net"
|
||||
"runtime"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
@@ -298,15 +297,6 @@ func (srv *Server) serveConn(ctx context.Context, conn net.Conn) {
|
||||
defer srv.tryFinishShutdown()
|
||||
defer srv.deleteConn(&conn)
|
||||
|
||||
defer func() {
|
||||
if err := recover(); err != nil && err != ErrAbortHandler {
|
||||
const size = 64 << 10
|
||||
buf := make([]byte, size)
|
||||
buf = buf[:runtime.Stack(buf, false)]
|
||||
srv.logf("gemini: panic serving %v: %v\n%s", conn.RemoteAddr(), err, buf)
|
||||
}
|
||||
}()
|
||||
|
||||
if d := srv.ReadTimeout; d != 0 {
|
||||
conn.SetReadDeadline(time.Now().Add(d))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user