Commit 49a7da2d authored by Akshat Kumar's avatar Akshat Kumar Committed by Anthony Martin

syscall: cleanly exit all Go procs on Plan 9

syscall.Exit would originally kill only the calling
Go proc, leaving behind other procs in the
same group. This change makes syscall.Exit call
runtime·exit, which due to CL
https://golang.org/cl/5617048
will cleanly exit all the Go procs in the group.

R=golang-dev, rsc, rminnich, remyoudompheng, ality, john
CC=golang-dev, mirtchovski
https://golang.org/cl/6036051
parent fca32f02
......@@ -149,3 +149,11 @@ copyresult6:
MOVSL
MOVSL
RET
//func exit(code int)
// Import runtime·exit for cleanly exiting.
TEXT ·exit(SB),7,$4
MOVL code+0(FP), AX
MOVL AX, 0(SP)
CALL runtime·exit(SB)
RET
......@@ -69,23 +69,10 @@ func errstr() string {
func Getpagesize() int { return 4096 }
//sys exits(msg *byte)
func Exits(msg *string) {
if msg == nil {
exits(nil)
}
exits(StringBytePtr(*msg))
}
// Implemented in assembly to import from runtime.
func exit(int)
func Exit(code int) {
if code == 0 {
Exits(nil)
}
msg := itoa(code)
Exits(&msg)
}
func Exit(code int) { exit(code) }
func readnum(path string) (uint, error) {
var b [12]byte
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment