Descriptionruntime: pass to signal handler value of g at time of signal
The existing code assumed that signals only arrived
while executing on the goroutine stack (g == m->curg),
not while executing on the scheduler stack (g == m->g0).
Most of the signal handling trampolines correctly saved
and restored g already, but the sighandler C code did not
have access to it.
Some rewriting of assembly to make the various
implementations as similar as possible.
Will need to change Windows too but I don't
understand how sigtramp gets called there.
Patch Set 1 #Patch Set 2 : diff -r 4c45d4ff1665 https://go.googlecode.com/hg/ #Patch Set 3 : diff -r 4c45d4ff1665 https://go.googlecode.com/hg/ #Patch Set 4 : diff -r ef0c9689828e https://go.googlecode.com/hg #
MessagesTotal messages: 4
|