f4b08c7f | package daemon import ( "fmt" "os" "syscall" "github.com/Sirupsen/logrus" |
59d88785 | "github.com/docker/docker/pkg/signal" |
f4b08c7f | "github.com/docker/docker/pkg/system" ) func setupDumpStackTrap() { // Windows does not support signals like *nix systems. So instead of // trapping on SIGUSR1 to dump stacks, we wait on a Win32 event to be |
927b334e | // signaled. |
f4b08c7f | go func() { sa := syscall.SecurityAttributes{ Length: 0, } ev := "Global\\docker-daemon-" + fmt.Sprint(os.Getpid()) if h, _ := system.CreateEvent(&sa, false, false, ev); h != 0 { logrus.Debugf("Stackdump - waiting signal at %s", ev) for { syscall.WaitForSingleObject(h, syscall.INFINITE) |
59d88785 | signal.DumpStacks() |
f4b08c7f | } } }() } |