Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • ajwalker/shell-wrap
  • sarahgerman-ff-doc-template
  • 17-9-stable protected
  • toon-use-new-git-clone
  • ajwalker/runner-shell
  • ggeorgiev/trigger-k8s-wait-ubi
  • update-runner-process-wrapper
  • pedropombeiro/518698/docs-update
  • DarrenEastman-main-patch-af69
  • calebw-main-patch-f713
  • doc/executor-types
  • avonbertoldi/bump-go-to-1.23.5
  • ajwalker/taskscaler-acquire-heartbeat
  • doc/clarify-allowed-pull-policies
  • doc-exclude-image
  • ggeorgiev/fault-tolerance-kubernetes
  • ggeorgiev/fault-tolerance-file-store
  • ggeorgiev/fault-tolerance-build
  • ajwalker/prebuilt-test-binaries
  • v17.8.3 protected
  • v17.8.2 protected
  • v17.8.1 protected
  • v17.7.1 protected
  • v17.8.0 protected
  • v17.6.1 protected
  • v17.7.0 protected
  • v17.5.5 protected
  • v17.6.0 protected
  • v17.5.4 protected
  • v17.5.3 protected
  • v16.11.4 protected
  • v17.0.3 protected
  • v17.5.2 protected
  • v17.4.2 protected
  • v17.3.3 protected
  • v17.2.3 protected
  • v17.5.1 protected
  • v17.5.0 protected
  • v16.10.1 protected
40 results

dump_unix.go

Code owners
Assign users and groups as approvers for specific file changes. Learn more.
dump_unix.go 496 B
// +build darwin dragonfly freebsd linux netbsd openbsd

package cli_helpers

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

	"github.com/Sirupsen/logrus"
)

func watchForGoroutinesDump() {
	// On USR1 dump stacks of all go routines
	dumpStacks := make(chan os.Signal, 1)
	signal.Notify(dumpStacks, syscall.SIGUSR1)
	for _ = range dumpStacks {
		buf := make([]byte, 1<<20)
		runtime.Stack(buf, true)
		logrus.Printf("=== received SIGUSR1 ===\n*** goroutine dump...\n%s\n*** end\n", buf)
	}
}