diff options
author | Austin Clements <austin@google.com> | 2015-07-24 15:38:16 -0400 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2015-07-27 19:58:58 +0000 |
commit | dff9108d988c3bd1ef323db2938631132f2337fe (patch) | |
tree | cbfdeee9d6ba3cc0d80fd779899d25a882d93efb /src/runtime/lock_futex.go | |
parent | cf225a1748a9efe401edd3cf8879692391a31d8b (diff) | |
download | go-dff9108d988c3bd1ef323db2938631132f2337fe.tar.gz go-dff9108d988c3bd1ef323db2938631132f2337fe.zip |
runtime: make notetsleep_internal nowritebarrier
When notetsleep_internal is called from notetsleepg, notetsleepg has
just given up the P, so write barriers are not allowed in
notetsleep_internal.
Change-Id: I1b214fa388b1ea05b8ce2dcfe1c0074c0a3c8870
Reviewed-on: https://go-review.googlesource.com/12647
Reviewed-by: Rick Hudson <rlh@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/lock_futex.go')
-rw-r--r-- | src/runtime/lock_futex.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/runtime/lock_futex.go b/src/runtime/lock_futex.go index 1765a6ce66..768fd5769f 100644 --- a/src/runtime/lock_futex.go +++ b/src/runtime/lock_futex.go @@ -144,7 +144,11 @@ func notesleep(n *note) { } } +// May run with m.p==nil if called from notetsleep, so write barriers +// are not allowed. +// //go:nosplit +//go:nowritebarrier func notetsleep_internal(n *note, ns int64) bool { gp := getg() |