Win32 Redirect stdIn stdErr in same process

Christopher Faylor cgf-no-personal-reply-please@cygwin.com
Thu Mar 11 21:59:00 GMT 2004


On Thu, Mar 11, 2004 at 09:01:56AM +0100, Valerio Ferrucci wrote:
>Hi,
>I hope that someone on the list can help me about this or point me to 
>some docs or example.
>My Win32 application calls an external library that writes to stdIn 
>and stdErr. I want to capture (redirect) these outputs (in order to 
>send them back to the user via http). Note that I can't spawn another 
>process because the library must run in the same process context of 
>the caller.
>
>On Unix my code is very simple:
>
>int	fdOut[2]={-1, -1};
>pipe(fdOut)
>dup2(fdOut[1], STDOUT_FILENO)
>... call the library
>fcntl(fdOut[0], F_SETFL, fileFlags | O_NONBLOCK)
>... read from fdOut[0]
>
>Any idea on how to do this using Win32 API?
>Any working example?

On cygwin you'd do just what you mention above.

Using the Win32 API, you'd find a mailing list or newsgroup which was
devoted to this sort of thing and ask there.  The cygwin mailing list is
not the place for this kind of win32 question.  The whole point of cygwin
is that it provides a UNIX-like way of doing things to avoid these kind
of win32 considerations.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list