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
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
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