diff options
author | Russ Cox <rsc@golang.org> | 2015-07-11 11:53:58 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2015-07-13 19:10:22 +0000 |
commit | 8c3533c89bae3493df8a0aad23e56c84f8d25714 (patch) | |
tree | fbb1bb3e3bfc4202e28b9bb39a5c7e2ae177ddf0 /src/runtime/select.go | |
parent | 242ec168c1394038cee17935f92e28fc24baac8e (diff) | |
download | go-8c3533c89bae3493df8a0aad23e56c84f8d25714.tar.gz go-8c3533c89bae3493df8a0aad23e56c84f8d25714.zip |
runtime: add memory barrier for sync send in select
Missed select case when adding the barrier last time.
All the more reason to refactor this code in Go 1.6.
Fixes #11643.
Change-Id: Ib0d19d6e0939296c0a3e06dda5e9b76f813bbc7e
Reviewed-on: https://go-review.googlesource.com/12086
Reviewed-by: Austin Clements <austin@google.com>
Diffstat (limited to 'src/runtime/select.go')
-rw-r--r-- | src/runtime/select.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/runtime/select.go b/src/runtime/select.go index 29cc077779..b18b44ce61 100644 --- a/src/runtime/select.go +++ b/src/runtime/select.go @@ -575,7 +575,7 @@ syncsend: print("syncsend: sel=", sel, " c=", c, "\n") } if sg.elem != nil { - typedmemmove(c.elemtype, sg.elem, cas.elem) + syncsend(c, sg, cas.elem) } sg.elem = nil gp = sg.g |