diff options
Diffstat (limited to 'src/runtime/cpuprof.go')
-rw-r--r-- | src/runtime/cpuprof.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/runtime/cpuprof.go b/src/runtime/cpuprof.go index 6ef374eaa4..0d7eeacb39 100644 --- a/src/runtime/cpuprof.go +++ b/src/runtime/cpuprof.go @@ -227,7 +227,11 @@ func runtime_pprof_readProfile() ([]uint64, []unsafe.Pointer, bool) { lock(&cpuprof.lock) log := cpuprof.log unlock(&cpuprof.lock) - data, tags, eof := log.read(profBufBlocking) + readMode := profBufBlocking + if GOOS == "darwin" || GOOS == "ios" { + readMode = profBufNonBlocking // For #61768; on Darwin notes are not async-signal-safe. See sigNoteSetup in os_darwin.go. + } + data, tags, eof := log.read(readMode) if len(data) == 0 && eof { lock(&cpuprof.lock) cpuprof.log = nil |