diff options
author | korbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-04-26 10:38:38 +0000 |
---|---|---|
committer | korbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-04-26 10:38:38 +0000 |
commit | 697b45c93184cdcac8949ea6c15de226cd460fa8 (patch) | |
tree | dae5e4203a1d87e4b29e6270b11212b8bd172720 /gcc/fixinc/server.c | |
parent | 67586ea3c688996e7c468ac9470aceebbbd8e2be (diff) | |
download | gcc-697b45c93184cdcac8949ea6c15de226cd460fa8.tar.gz |
properly handle child processes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26644 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fixinc/server.c')
-rw-r--r-- | gcc/fixinc/server.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/fixinc/server.c b/gcc/fixinc/server.c index 2a195a61eb4..51f86b50e19 100644 --- a/gcc/fixinc/server.c +++ b/gcc/fixinc/server.c @@ -178,14 +178,17 @@ load_data (fp) * Make certain the server process is dead, close the * pipes to it and from it, finally NULL out the file pointers */ -static void +void close_server () { - kill ((pid_t) server_id, SIGKILL); - server_id = NULLPROCESS; - fclose (server_pair.pf_read); - fclose (server_pair.pf_write); - server_pair.pf_read = server_pair.pf_write = (FILE *) NULL; + if (server_id != NULLPROCESS) + { + kill ((pid_t) server_id, SIGKILL); + server_id = NULLPROCESS; + fclose (server_pair.pf_read); + fclose (server_pair.pf_write); + server_pair.pf_read = server_pair.pf_write = (FILE *) NULL; + } } /* |