]> Cypherpunks repositories - gostls13.git/commit
runtime: fix goroutine status corruption
authorDmitriy Vyukov <dvyukov@google.com>
Thu, 27 Jun 2013 20:49:53 +0000 (00:49 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Thu, 27 Jun 2013 20:49:53 +0000 (00:49 +0400)
commit4eb17ecd1f1c5d130a0fe5c6bbd03714d315c41a
tree40f08834154dfdf27ae778de613516dca623ec00
parentb92b09300a2b85d02041499f5cf93a7b30939c36
runtime: fix goroutine status corruption
runtime.entersyscall() sets g->status = Gsyscall,
then calls runtime.lock() which causes stack split.
runtime.newstack() resets g->status to Grunning.
This will lead to crash during GC (world is not stopped) or GC will scan stack incorrectly.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/10696043
src/pkg/runtime/stack.c