Ejemplo n.º 1
0
Archivo: recover.go Proyecto: gemrs/gem
// recover captures panics in the game client handler and prints a stack trace
func Recover(log log.Log) {
	if err := recover(); err != nil {
		if Unsafe {
			log.Notice("github.com/gemrs/gem/gem/safe: Unsafe mode enabled; not recovering")
			panic(err)
		}
		stack := make([]byte, 1024*10)
		runtime.Stack(stack, true)
		log.Error("Recovered from panic in game client handler: %v", err)
		log.Debug(string(stack))
	}
}