]> Cypherpunks repositories - gostls13.git/commit
runtime: more reliable preemption
authorDmitriy Vyukov <dvyukov@google.com>
Wed, 17 Jul 2013 16:52:37 +0000 (12:52 -0400)
committerRuss Cox <rsc@golang.org>
Wed, 17 Jul 2013 16:52:37 +0000 (12:52 -0400)
commit5887f142a33fbb8da94088e902ced4101a16aa8f
tree34e4b531885ee16e020a5fc0289a4836f561f7ed
parenta83748596c009db47bcd35a69531e485e2c7f924
runtime: more reliable preemption
Currently preemption signal g->stackguard0==StackPreempt
can be lost if it is received when preemption is disabled
(e.g. m->lock!=0). This change duplicates the preemption
signal in g->preempt and restores g->stackguard0
when preemption is enabled.
Update #543.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/10792043
src/pkg/runtime/lock_futex.c
src/pkg/runtime/lock_sema.c
src/pkg/runtime/malloc.goc
src/pkg/runtime/mgc0.c
src/pkg/runtime/proc.c
src/pkg/runtime/runtime.h
src/pkg/runtime/stack.c