Update the vendor folder (#53)

* Update the vendor folder

* Update the Gopkg.lock by running dep ensure
This commit is contained in:
Robbie Zhang
2018-01-05 11:22:17 -08:00
committed by GitHub
parent 0e123c783b
commit 77d0687688
540 changed files with 78101 additions and 107 deletions

View File

@@ -0,0 +1,27 @@
package stacktrace
import "runtime"
// Caputure captures a stacktrace for the current calling go program
//
// skip is the number of frames to skip
func Capture(userSkip int) Stacktrace {
var (
skip = userSkip + 1 // add one for our own function
frames []Frame
prevPc uintptr = 0
)
for i := skip; ; i++ {
pc, file, line, ok := runtime.Caller(i)
//detect if caller is repeated to avoid loop, gccgo
//currently runs into a loop without this check
if !ok || pc == prevPc {
break
}
frames = append(frames, NewFrame(pc, file, line))
prevPc = pc
}
return Stacktrace{
Frames: frames,
}
}