]> Cypherpunks repositories - gostls13.git/commit
os: relax the way we kill processes on Plan 9
authorAnthony Martin <ality@pbrane.org>
Thu, 13 Mar 2014 01:12:56 +0000 (18:12 -0700)
committerAnthony Martin <ality@pbrane.org>
Thu, 13 Mar 2014 01:12:56 +0000 (18:12 -0700)
commit189397df5855a35cd23c76becf5cd16b10bb4dce
tree86d881c6e0ec921eb228e4e3104692ffe03ed7b5
parent8303a13bb8e46a11c64080f4da1b6c9ed11ac5a2
os: relax the way we kill processes on Plan 9

Previously, we wrote "kill" to the process control file
to kill a program. This is problematic because it doesn't
let the program gracefully exit.

This matters especially if the process we're killing is a
Go program. On Unix, sending SIGKILL to a Go program will
automatically kill all runtime threads. On Plan 9, there
are no threads so when the program wants to exit it has to
somehow signal all of the runtime processes. It can't do
this if we mercilessly kill it by writing to it's control
file.

Instead, we now send it a note to invoke it's note handler
and let it perform any cleanup before exiting.

LGTM=rsc
R=rsc, 0intro
CC=golang-codereviews
https://golang.org/cl/74440044
src/pkg/os/exec_plan9.go