tris: add single line TLSDEBUG=short

Этот коммит содержится в:
Filippo Valsorda 2017-01-24 18:56:43 +00:00 коммит произвёл Peter Wu
родитель 7aa542753f
Коммит 740fc926aa

20
13.go
Просмотреть файл

@ -13,8 +13,11 @@ import (
"fmt"
"hash"
"io"
"log"
"os"
"runtime"
"runtime/debug"
"strings"
"sync/atomic"
"time"
@ -572,4 +575,21 @@ func (hs *serverHandshakeState) traceErr(err error) {
}
fmt.Fprintf(os.Stderr, "\n%s\n", debug.Stack())
}
if os.Getenv("TLSDEBUG") == "short" {
var pcs [4]uintptr
frames := runtime.CallersFrames(pcs[0:runtime.Callers(3, pcs[:])])
for {
frame, more := frames.Next()
if frame.Function != "crypto/tls.(*halfConn).setErrorLocked" &&
frame.Function != "crypto/tls.(*Conn).sendAlertLocked" &&
frame.Function != "crypto/tls.(*Conn).sendAlert" {
file := frame.File[strings.LastIndex(frame.File, "/")+1:]
log.Printf("%s:%d (%s): %v", file, frame.Line, frame.Function, err)
return
}
if !more {
break
}
}
}
}