added some code to exit the whole process upon panic in http goroutines

This commit is contained in:
2024-12-08 00:57:58 +09:00
parent c81e05b4a3
commit 1496951c36
5 changed files with 107 additions and 4 deletions

View File

@ -99,6 +99,11 @@ func (ctl *client_ctl_client_conns) ServeHTTP(w http.ResponseWriter, req *http.R
var err error
var je *json.Encoder
defer func() {
var err interface{} = recover()
if err != nil { dump_call_frame_and_exit(ctl.c.log, req, err) }
}()
c = ctl.c
je = json.NewEncoder(w)
@ -207,6 +212,11 @@ func (ctl *client_ctl_client_conns_id) ServeHTTP(w http.ResponseWriter, req *htt
var je *json.Encoder
var cts *ClientConn
defer func() {
var err interface{} = recover()
if err != nil { dump_call_frame_and_exit(ctl.c.log, req, err) }
}()
c = ctl.c
je = json.NewEncoder(w)
@ -286,6 +296,11 @@ func (ctl *client_ctl_client_conns_id_routes) ServeHTTP(w http.ResponseWriter, r
var je *json.Encoder
var cts *ClientConn
defer func() {
var err interface{} = recover()
if err != nil { dump_call_frame_and_exit(ctl.c.log, req, err) }
}()
c = ctl.c
je = json.NewEncoder(w)
@ -378,6 +393,11 @@ func (ctl *client_ctl_client_conns_id_routes_id) ServeHTTP(w http.ResponseWriter
var je *json.Encoder
var cts *ClientConn
defer func() {
var err interface{} = recover()
if err != nil { dump_call_frame_and_exit(ctl.c.log, req, err) }
}()
c = ctl.c
je = json.NewEncoder(w)
@ -451,6 +471,11 @@ func (ctl *client_ctl_client_conns_id_routes_id_peers) ServeHTTP(w http.Response
var je *json.Encoder
var r *ClientRoute
defer func() {
var err interface{} = recover()
if err != nil { dump_call_frame_and_exit(ctl.c.log, req, err) }
}()
c = ctl.c
je = json.NewEncoder(w)
@ -529,6 +554,11 @@ func (ctl *client_ctl_client_conns_id_routes_id_peers_id) ServeHTTP(w http.Respo
var je *json.Encoder
var p *ClientPeerConn
defer func() {
var err interface{} = recover()
if err != nil { dump_call_frame_and_exit(ctl.c.log, req, err) }
}()
c = ctl.c
je = json.NewEncoder(w)