diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 6 | ||||
-rw-r--r-- | ace/Process_Manager.cpp | 6 |
3 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 6bd4cea4cca..8cea92419f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sun Jan 19 11:40:10 2003 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Process_Manager.cpp (spawn): Cleanup dynamically allocated + memory if the spawn() fails. Thanks to Kobi Cohen-Arazi + <kobi@mivzak.com> for this fix. + Sun Jan 19 15:03:13 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl> * websvcs/lib/Makefile: diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index 6bd4cea4cca..8cea92419f8 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,9 @@ +Sun Jan 19 11:40:10 2003 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Process_Manager.cpp (spawn): Cleanup dynamically allocated + memory if the spawn() fails. Thanks to Kobi Cohen-Arazi + <kobi@mivzak.com> for this fix. + Sun Jan 19 15:03:13 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl> * websvcs/lib/Makefile: diff --git a/ace/Process_Manager.cpp b/ace/Process_Manager.cpp index dfd91fbe852..208c3234e6c 100644 --- a/ace/Process_Manager.cpp +++ b/ace/Process_Manager.cpp @@ -409,7 +409,11 @@ ACE_Process_Manager::spawn (ACE_Process_Options &options) ACE_Managed_Process, ACE_INVALID_PID); - return spawn (process, options); + pid_t pid = spawn (process, options); + if (pid == ACE_INVALID_PID || pid == 0) + delete process; + + return pid; } // Create a new process. |