summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLogs/ChangeLog-03a6
-rw-r--r--ace/Process_Manager.cpp6
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.