mirror of
https://github.com/golang/go
synced 2024-11-25 07:07:57 -07:00
runtime: don't let select split stack
Fixes #1209. R=ken2 CC=golang-dev https://golang.org/cl/2612041
This commit is contained in:
parent
c026c91b5c
commit
6a3b29895f
@ -620,6 +620,12 @@ selunlock(Select *sel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// selectgo(sel *byte);
|
// selectgo(sel *byte);
|
||||||
|
//
|
||||||
|
// overwrites return pc on stack to signal which case of the select
|
||||||
|
// to run, so cannot appear at the top of a split stack.
|
||||||
|
// frame has 6 pointers and 4 int32 so 64 bytes max.
|
||||||
|
// that's less than StackGuard-StackSmall, so okay.
|
||||||
|
#pragma textflag 7
|
||||||
void
|
void
|
||||||
·selectgo(Select *sel)
|
·selectgo(Select *sel)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user