go/src
Alex Brainman 9c774c3f26 runtime: correct seh installation during callbacks
Every time we enter callback from Windows, it is
possible that go exception handler is not at the top
of per-thread exception handlers chain. So it needs
to be installed again. At this moment this is done
by replacing top SEH frame with SEH frame as at time
of syscall for the time of callback. This is incorrect,
because, if exception strike, we won't be able to call
any exception handlers installed inside syscall,
because they are not in the chain. This changes
procedure to add new SEH frame on top of existing
chain instead.

I also removed m sehframe field, because I don't
think it is needed. We use single global exception
handler everywhere.

R=golang-dev, r
CC=golang-dev, hectorchu
https://golang.org/cl/4832060
2011-08-10 17:17:28 +10:00
..
cmd ld: add one empty symbol into pe to make dumpbin works. 2011-08-10 11:09:06 +10:00
lib9 build: fixes for mingw-w64 2011-07-25 13:39:01 -04:00
libbio build: test for _WIN32, not _MINGW32 2010-09-08 22:20:35 -04:00
libmach libmach: stubs for openbsd 2011-07-29 13:48:00 -04:00
pkg runtime: correct seh installation during callbacks 2011-08-10 17:17:28 +10:00
Make.ccmd build: explain $PWD use 2011-06-22 17:00:46 -04:00
Make.clib build: explain $PWD use 2011-06-22 17:00:46 -04:00
Make.cmd make: add nuke target for C commands and libs 2011-05-11 22:53:42 -04:00
Make.common make: prevent rm provoking 'text file busy' errors. 2011-04-15 08:25:44 -04:00
Make.inc goinstall: handle $(GOOS) and $(GOARCH) in filenames 2011-03-07 10:54:53 -05:00
Make.pkg build: remove rm dreg 2011-07-26 00:30:39 -04:00
all-qemu.bash build: update all-qemu.bash 2011-07-28 13:04:30 -04:00
all.bash build: $GOBIN defaults to $GOROOT/bin 2010-08-24 20:00:33 -04:00
clean.bash build: reenable clean.bash without gomake 2011-03-21 00:27:50 -03:00
env.bash build: fix noclobber 2011-07-28 19:38:14 -04:00
make.bash make.bash: remove old bash version of gotest on Windows 2011-05-04 11:16:55 +10:00
quietgcc.bash build: handle spaces in $USER 2011-07-28 13:04:52 -04:00
run.bash exp/eval, exp/ogle: remove packages eval and ogle 2011-07-13 09:40:53 -07:00
sudo.bash build: no required environment variables 2010-08-18 10:08:49 -04:00
version.bash build: make version.bash aware of branches 2011-06-30 15:39:00 +10:00