• Anthony Martin's avatar
    os: relax the way we kill processes on Plan 9 · 189397df
    Anthony Martin authored
    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
    189397df
Name
Last commit
Last update
..
exec Loading commit data...
signal Loading commit data...
user Loading commit data...
dir_plan9.go Loading commit data...
dir_unix.go Loading commit data...
dir_windows.go Loading commit data...
doc.go Loading commit data...
env.go Loading commit data...
env_test.go Loading commit data...
env_unix_test.go Loading commit data...
error.go Loading commit data...
error_plan9.go Loading commit data...
error_test.go Loading commit data...
error_unix.go Loading commit data...
error_windows.go Loading commit data...
error_windows_test.go Loading commit data...
exec.go Loading commit data...
exec_plan9.go Loading commit data...
exec_posix.go Loading commit data...
exec_unix.go Loading commit data...
exec_windows.go Loading commit data...
export_test.go Loading commit data...
file.go Loading commit data...
file_plan9.go Loading commit data...
file_posix.go Loading commit data...
file_unix.go Loading commit data...
file_windows.go Loading commit data...
getwd.go Loading commit data...
getwd_darwin.go Loading commit data...
os_test.go Loading commit data...
os_unix_test.go Loading commit data...
path.go Loading commit data...
path_plan9.go Loading commit data...
path_test.go Loading commit data...
path_unix.go Loading commit data...
path_windows.go Loading commit data...
pipe_bsd.go Loading commit data...
pipe_linux.go Loading commit data...
proc.go Loading commit data...
stat_darwin.go Loading commit data...
stat_dragonfly.go Loading commit data...
stat_freebsd.go Loading commit data...
stat_linux.go Loading commit data...
stat_nacl.go Loading commit data...
stat_netbsd.go Loading commit data...
stat_openbsd.go Loading commit data...
stat_plan9.go Loading commit data...
stat_solaris.go Loading commit data...
stat_windows.go Loading commit data...
str.go Loading commit data...
sys_bsd.go Loading commit data...
sys_darwin.go Loading commit data...
sys_freebsd.go Loading commit data...
sys_linux.go Loading commit data...
sys_nacl.go Loading commit data...
sys_plan9.go Loading commit data...
sys_solaris.go Loading commit data...
sys_unix.go Loading commit data...
sys_windows.go Loading commit data...
types.go Loading commit data...
types_notwin.go Loading commit data...
types_windows.go Loading commit data...