diff options
author | Adam Mitz <mitza@ociweb.com> | 2015-02-10 14:35:07 -0600 |
---|---|---|
committer | Adam Mitz <mitza@ociweb.com> | 2015-02-10 14:37:52 -0600 |
commit | 35cce6f3e5dffa216f3bf064ff45454d3e7c222d (patch) | |
tree | 35f4cfea223343adc40b4d2d3fd3b8ba6b68b7bb /TAO | |
parent | d6653a19bcdd55090dfade3f30cfbf648777b22f (diff) | |
download | ATCD-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.cpp | 9 |
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) |