Browse Source

always log the panic trace

tags/v0.10.1
Shivaram Lingamneni 6 years ago
parent
commit
6130e48a67
1 changed files with 7 additions and 4 deletions
  1. 7
    4
      irc/client.go

+ 7
- 4
irc/client.go View File

185
 	var msg ircmsg.IrcMessage
185
 	var msg ircmsg.IrcMessage
186
 
186
 
187
 	defer func() {
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
 		// ensure client connection gets closed
197
 		// ensure client connection gets closed

Loading…
Cancel
Save