summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorAdam Mitz <mitza@ociweb.com>2015-02-10 14:35:07 -0600
committerAdam Mitz <mitza@ociweb.com>2015-02-10 14:37:52 -0600
commit35cce6f3e5dffa216f3bf064ff45454d3e7c222d (patch)
tree35f4cfea223343adc40b4d2d3fd3b8ba6b68b7bb /TAO
parentd6653a19bcdd55090dfade3f30cfbf648777b22f (diff)
downloadATCD-35cce6f3e5dffa216f3bf064ff45454d3e7c222d.tar.gz
ACE_Process on Windows:
Allow redirection of child's stdout/stderr when there is no stdin handle available (for example when running in a service). TAO_IDL drv_preproc: check for errors from ACE_Process
Diffstat (limited to 'TAO')
-rw-r--r--TAO/TAO_IDL/driver/drv_preproc.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/driver/drv_preproc.cpp b/TAO/TAO_IDL/driver/drv_preproc.cpp
index 14f3fa50900..5a59ee352ef 100644
--- a/TAO/TAO_IDL/driver/drv_preproc.cpp
+++ b/TAO/TAO_IDL/driver/drv_preproc.cpp
@@ -1354,7 +1354,14 @@ DRV_pre_proc (const char *myfile)
throw Bailout ();
}
- cpp_options.set_handles (ACE_INVALID_HANDLE, fd);
+ if (cpp_options.set_handles (ACE_INVALID_HANDLE, fd) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%s: cannot set stdout for child process: %p\n",
+ ACE_TEXT_CHAR_TO_TCHAR (idl_global->prog_name ())));
+
+ throw Bailout ();
+ }
}
if (idl_global->compile_flags () & IDL_CF_INFORMATIVE)