Steve Hay wrote: [...]
[...]Line 2457 of perlio.c sets fd to 1 (which is STDOUT, right?) flags isstill 2, so (flags & PERLIO_DUP_FD) is true and we call PerlLIO_dup() on line 2459. That calls win32_dup(), which calls dup(), which I can't step into ;-). Each of dup(), win32_dup() and PerlLIO_dup() returns 35.
This f also gets returned from PerlIOBase_dup(), so back in PerlIOUnix_dup() we call PerlIOUnix_setfd() at line 2465 which looks good. f is non-NULL, fd is 35, os->oflags is 0. The PerlLIO_fstat(35, &st) call at line 2348 is ultimately a call to _fstati64(35, ...) at win32/win32sck.c line 500 which returns -1. I wasn't expecting that to have failed (_fstati64() returns 0 for success, -1 for failure) :-s (***)[...]
You said you have an app, that shows you the opened fds. So was fd 35 open after win32_dup() was called? And was it closed at the stat checkpoint above? If so could you monitor what caused to its closure?
Also I thought win32 doesn't work with fds, but its own HANDLE thingy. Is that not true?
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
