Descriptionruntime: 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.
Patch Set 1 #Patch Set 2 : diff -r 3a9551481ad1 https://dvyukov%40google.com@code.google.com/p/go/ #Patch Set 3 : diff -r 3a9551481ad1 https://dvyukov%40google.com@code.google.com/p/go/ #
Total comments: 2
Patch Set 4 : diff -r 8648a001bbca https://dvyukov%40google.com@code.google.com/p/go/ #Patch Set 5 : diff -r 8648a001bbca https://dvyukov%40google.com@code.google.com/p/go/ #MessagesTotal messages: 5
|