Use debug.PrintStack helper instead of handling stack manually
This commit is contained in:
		
							parent
							
								
									e08841fdc7
								
							
						
					
					
						commit
						c740f13063
					
				
							
								
								
									
										12
									
								
								daemon.go
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								daemon.go
									
									
									
									
									
								
							| @ -2,11 +2,10 @@ package uberdaemon | |||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"runtime" | 	"log" | ||||||
|  | 	"runtime/debug" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
| 
 |  | ||||||
| 	"log" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // Daemon is the interface that contains a set of methods required to be | // Daemon is the interface that contains a set of methods required to be | ||||||
| @ -106,13 +105,10 @@ func (b *BaseDaemon) base() *BaseDaemon { | |||||||
| func (b *BaseDaemon) handlePanic() { | func (b *BaseDaemon) handlePanic() { | ||||||
| 	if err := recover(); err != nil { | 	if err := recover(); err != nil { | ||||||
| 		b.stats.registerError() | 		b.stats.registerError() | ||||||
| 
 |  | ||||||
| 		trace := make([]byte, 1024) |  | ||||||
| 		runtime.Stack(trace, false) |  | ||||||
| 
 |  | ||||||
| 		if b.panicHandler != nil { | 		if b.panicHandler != nil { | ||||||
| 			b.panicHandler() | 			b.panicHandler() | ||||||
| 		} | 		} | ||||||
| 		log.Printf("Daemon %s recovered from panic. Error: %v\n%s\n", b, err, trace) | 		log.Printf("Daemon %s recovered from panic. Error: %v\n", b, err) | ||||||
|  | 		debug.PrintStack() | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user