summaryrefslogtreecommitdiff
path: root/gcc/fixinc/server.c
diff options
context:
space:
mode:
authorkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>1999-04-26 10:38:38 +0000
committerkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>1999-04-26 10:38:38 +0000
commit697b45c93184cdcac8949ea6c15de226cd460fa8 (patch)
treedae5e4203a1d87e4b29e6270b11212b8bd172720 /gcc/fixinc/server.c
parent67586ea3c688996e7c468ac9470aceebbbd8e2be (diff)
downloadgcc-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.c15
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;
+ }
}
/*