github.com/clintkitson/docker@v1.9.1/daemon/debugtrap_windows.go (about) 1 package daemon 2 3 import ( 4 "fmt" 5 "os" 6 "syscall" 7 8 "github.com/Sirupsen/logrus" 9 psignal "github.com/docker/docker/pkg/signal" 10 "github.com/docker/docker/pkg/system" 11 ) 12 13 func setupDumpStackTrap() { 14 // Windows does not support signals like *nix systems. So instead of 15 // trapping on SIGUSR1 to dump stacks, we wait on a Win32 event to be 16 // signalled. 17 go func() { 18 sa := syscall.SecurityAttributes{ 19 Length: 0, 20 } 21 ev := "Global\\docker-daemon-" + fmt.Sprint(os.Getpid()) 22 if h, _ := system.CreateEvent(&sa, false, false, ev); h != 0 { 23 logrus.Debugf("Stackdump - waiting signal at %s", ev) 24 for { 25 syscall.WaitForSingleObject(h, syscall.INFINITE) 26 psignal.DumpStacks() 27 } 28 } 29 }() 30 }