mirror of
https://github.com/golang/go
synced 2024-11-18 12:54:44 -07:00
syscall: make windows Exit call runtime.exit
Both runtime.exit and syscall.Exit call Windows ExitProcess. But recently (CL 34616) runtime.exit was changed to ignore Windows CreateThread errors if ExitProcess is called. This CL adjusts syscall.Exit to do the same. Fixes #18253 (maybe) Change-Id: I6496c31b01e7c7d73b69c0b2ae33ed7fbe06736b Reviewed-on: https://go-review.googlesource.com/45115 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
parent
78cf0e56ce
commit
cfae35efa5
@ -207,3 +207,9 @@ func syscall_Syscall15(fn, nargs, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
|
|||||||
cgocall(asmstdcallAddr, unsafe.Pointer(c))
|
cgocall(asmstdcallAddr, unsafe.Pointer(c))
|
||||||
return c.r1, c.r2, c.err
|
return c.r1, c.r2, c.err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//go:linkname syscall_exit syscall.Exit
|
||||||
|
//go:nosplit
|
||||||
|
func syscall_exit(code int) {
|
||||||
|
exit(int32(code))
|
||||||
|
}
|
||||||
|
@ -236,7 +236,8 @@ func NewCallbackCDecl(fn interface{}) uintptr {
|
|||||||
|
|
||||||
// syscall interface implementation for other packages
|
// syscall interface implementation for other packages
|
||||||
|
|
||||||
func Exit(code int) { ExitProcess(uint32(code)) }
|
// Implemented in ../runtime/syscall_windows.go.
|
||||||
|
func Exit(code int)
|
||||||
|
|
||||||
func makeInheritSa() *SecurityAttributes {
|
func makeInheritSa() *SecurityAttributes {
|
||||||
var sa SecurityAttributes
|
var sa SecurityAttributes
|
||||||
|
Loading…
Reference in New Issue
Block a user