summaryrefslogtreecommitdiff
path: root/ace/Process_Manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Process_Manager.cpp')
-rw-r--r--ace/Process_Manager.cpp23
1 files changed, 5 insertions, 18 deletions
diff --git a/ace/Process_Manager.cpp b/ace/Process_Manager.cpp
index 1ee99f29703..21e5fc65e7a 100644
--- a/ace/Process_Manager.cpp
+++ b/ace/Process_Manager.cpp
@@ -125,22 +125,12 @@ ACE_Process_Manager::~ACE_Process_Manager (void)
// held...
pid_t
-ACE_Process_Manager::start (char *argv[],
- char *envp[])
+ACE_Process_Manager::start (ACE_Process_Options &options)
{
ACE_TRACE ("ACE_Process_Manager::start");
- // Create a new process, potentially causing an exec(), as well.
- // This API clearly needs to be improved to pass more information
- // in...
-
ACE_Process process;
-
- process.set_handles (ACE_INVALID_HANDLE,
- ACE_INVALID_HANDLE,
- ACE_INVALID_HANDLE);
-
- pid_t pid = process.start (argv, envp);
+ pid_t pid = process.start (options);
// Only include the pid in the parent's table.
if (pid == -1 || pid == 0)
@@ -159,23 +149,20 @@ ACE_Process_Manager::start (char *argv[],
// Create N new processs running FUNC.
int
-ACE_Process_Manager::start_n (size_t n,
- char *argv[],
- char *envp[])
+ACE_Process_Manager::start_n (size_t n, ACE_Process_Options &options)
{
ACE_TRACE ("ACE_Process_Manager::spawn_n");
#if 0
// This doesn't work (yet).
for (size_t i = 0; i < n; i++)
- if (this->start (argv, envp) == -1)
+ if (this->start (options) == -1)
return -1;
return 0;
#else
ACE_UNUSED_ARG (n);
- ACE_UNUSED_ARG (argv);
- ACE_UNUSED_ARG (envp);
+ ACE_UNUSED_ARG (options);
ACE_NOTSUP_RETURN (-1);
#endif /* 0 */
}