syscall: make Exit call runtime.exit

syscall.Exit and runtime.exit do the same thing.
Why duplicate code?

CL 45115 fixed bug where windows runtime.exit was correct,
but syscall.Exit was broken. So CL 45115 fixed windows
syscall.Exit by calling runtime.exit.

Austin suggested that all OSes should do the same, and
this CL implements his idea.

While making changes, I discovered that nacl syscall.Exit
returned error

func Exit(code int) (err error)

and I changed it into

func Exit(code int)

like all other OSes. I assumed it was a mistake and it
is OK to do because cmd/api does not complain about it.

Also I changed plan9 runtime.exit to accept int32 just
like all other OSes do.

Change-Id: I12f6022ad81406566cf9befcc6edc382eebd413b
Reviewed-on: https://go-review.googlesource.com/66170
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: David du Colombier <0intro@gmail.com>
This commit is contained in:
Alex Brainman 2017-09-26 12:35:54 +10:00
parent 5e42658fc0
commit 438c8f6b53
46 changed files with 9 additions and 264 deletions

View file

@ -393,7 +393,7 @@ func postnote(pid uint64, msg []byte) int {
}
//go:nosplit
func exit(e int) {
func exit(e int32) {
var status []byte
if e == 0 {
status = emptystatus