1
0
mirror of https://github.com/golang/go synced 2024-10-04 02:21:21 -06:00
go/src
Keith Randall da8cf5438a runtime: always run semacquire on the G stack
semacquire might need to park the currently running G.  It can
only park if called from the G stack (because it has no way of
saving the M stack state).  So all calls to semacquire must come
from the G stack.

The three violators are GOMAXPROCS, ReadMemStats, and WriteHeapDump.
This change moves the semacquire call earlier, out of their C code
and into their Go code.

This seldom caused bugs because semacquire seldom actually had
to park the caller.  But it did happen intermittently.

Fixes #8749

LGTM=dvyukov
R=golang-codereviews, dvyukov, bradfitz
CC=golang-codereviews
https://golang.org/cl/144940043
2014-09-16 17:26:16 -07:00
..
archive build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
bufio build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
builtin build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
bytes build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
cmd cmd/go: use pkg-config include pathes in swig and don't double compile c++ files. 2014-09-16 15:06:52 -07:00
compress build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
container build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
crypto build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
database/sql build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
debug build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
encoding build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
errors build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
expvar build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
flag build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
fmt fmt: fix allocation test 2014-09-09 11:45:46 -07:00
go go/printer: don't reduce nesting depth twice if parentheses are present around an expr 2014-09-12 11:18:12 -07:00
hash build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
html build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
image image/jpeg: reject invalid Ta and Td values. 2014-09-15 08:41:59 +10:00
index/suffixarray build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
internal/syscall build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
io io: clarify Reader returning 0, nil 2014-09-16 10:01:28 -04:00
lib9 lib9: format %#04x, 0 as 0x0000 not 000000. 2014-07-23 10:17:47 -04:00
libbio libbio: add casts to eliminate -Wconversion warning 2014-04-14 09:36:47 -07:00
liblink liblink: make GO_ARGS the default for functions beginning with · 2014-09-16 17:39:55 -04:00
log build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
math build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
mime build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
net net/mail: allow us-ascii encoding 2014-09-16 17:40:33 -04:00
os os/signal: increase timeout from 10ms to 100ms 2014-09-16 15:26:00 -04:00
path build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
reflect reflect: add Type.Comparable 2014-09-16 17:40:10 -04:00
regexp build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
runtime runtime: always run semacquire on the G stack 2014-09-16 17:26:16 -07:00
sort build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
strconv strconv: fix documentation for CanBackquote. 2014-09-09 11:45:36 -07:00
strings build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
sync sync: simplify TestOncePanic 2014-09-16 14:22:33 -07:00
syscall liblink: make GO_ARGS the default for functions beginning with · 2014-09-16 17:39:55 -04:00
testing testing: read coverage counters atomically 2014-09-09 12:31:07 -07:00
text build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
time build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
unicode build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
unsafe build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
all.bash build: make nacl pass 2014-05-20 12:10:19 -04:00
all.bat
all.rc
androidtest.bash androidtest.bash: adjustment for move from src/pkg to src 2014-09-08 10:07:26 -04:00
clean.bash
clean.bat
clean.rc
make.bash build: adjustments for move from src/pkg to src 2014-09-08 00:06:45 -04:00
make.bat build: fix windows make.bat 2014-09-07 07:31:53 -04:00
Make.dist
make.rc build: adjustments for move from src/pkg to src 2014-09-08 00:06:45 -04:00
nacltest.bash build: more adjustments for move from src/pkg to src 2014-09-08 00:22:40 -04:00
race.bash race.bash: support freebsd 2014-06-24 15:47:22 -07:00
race.bat race.bash,race.bat: unset GOROOT_FINAL during tests 2014-05-07 16:34:21 +10:00
run.bash run.bash: run misc/cgo/testgodefs/test.bash 2014-08-12 07:13:52 -07:00
run.bat build: remove goplay from run.bash and run.bat 2014-06-02 08:44:47 +10:00
run.rc build: be verbose when running tests on Plan 9 2014-07-20 13:14:53 +03:00
sudo.bash