|
@@ -185,10 +185,13 @@ func (client *Client) run() {
|
185
|
185
|
var msg ircmsg.IrcMessage
|
186
|
186
|
|
187
|
187
|
defer func() {
|
188
|
|
- if client.server.RecoverFromErrors() {
|
189
|
|
- if r := recover(); r != nil {
|
190
|
|
- client.server.logger.Error("internal",
|
191
|
|
- fmt.Sprintf("Client caused panic, disconnecting: %v\n%s", r, debug.Stack()))
|
|
188
|
+ if r := recover(); r != nil {
|
|
189
|
+ client.server.logger.Error("internal",
|
|
190
|
+ fmt.Sprintf("Client caused panic: %v\n%s", r, debug.Stack()))
|
|
191
|
+ if client.server.RecoverFromErrors() {
|
|
192
|
+ client.server.logger.Error("internal", "Disconnecting client and attempting to recover")
|
|
193
|
+ } else {
|
|
194
|
+ panic(r)
|
192
|
195
|
}
|
193
|
196
|
}
|
194
|
197
|
// ensure client connection gets closed
|