aboutsummaryrefslogtreecommitdiff
path: root/os_unix.go
blob: 5afe3927d6e17ce873655b3610a6619a24e3a3f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//go:build linux || openbsd || freebsd || netbsd || dragonfly || solaris || darwin || aix

package main

import (
	"os"
	"os/signal"
	"runtime/pprof"
	"syscall"
)

func backtrace_listen() {
	go func() {
		ch := make(chan os.Signal, 1)
		signal.Notify(ch, syscall.SIGUSR1)
		for {
			<-ch
			pprof.Lookup("goroutine").WriteTo(os.Stdout, 1)
		}
	}()
}