panic recover handleCall

This commit is contained in:
Egor Aristov 2025-11-16 10:21:06 +03:00
parent e66e0c6cae
commit 0e6a217c14
Signed by: egor3f
GPG Key ID: 40482A264AAEC85F

View File

@ -110,6 +110,12 @@ func (ipc *ipcCommon) handleCall(msg Message) {
ipc.processingCalls.Add(1) ipc.processingCalls.Add(1)
defer ipc.processingCalls.Add(-1) defer ipc.processingCalls.Add(-1)
defer func() {
if err := recover(); err != nil {
ipc.sendResponse(msg.Id, nil, fmt.Errorf("handle call panicked: %s", err))
}
}()
method, err := ipc.findMethod(msg.Method) method, err := ipc.findMethod(msg.Method)
if err != nil { if err != nil {
ipc.sendResponse(msg.Id, nil, fmt.Errorf("find method: %w", err)) ipc.sendResponse(msg.Id, nil, fmt.Errorf("find method: %w", err))