set recovered panic once
Vladimir Bauer
5 years ago
| 304 | 304 | defer func() { |
| 305 | 305 | // recovering if user defined decorator panics for example |
| 306 | 306 | if p := recover(); p != nil { |
| 307 | s.extender = makePanicExtender(p) | |
| 307 | if b.recoveredPanic == nil { | |
| 308 | s.extender = makePanicExtender(p) | |
| 309 | b.toShutdown = !b.toShutdown | |
| 310 | b.recoveredPanic = p | |
| 311 | } | |
| 308 | 312 | frame, lines := s.extender(nil, s.reqWidth, stat) |
| 309 | 313 | b.extendedLines = lines |
| 310 | b.toShutdown = !b.toShutdown | |
| 311 | b.recoveredPanic = p | |
| 312 | 314 | b.frameCh <- frame |
| 313 | 315 | b.dlogger.Println(p) |
| 314 | 316 | } |