William A. Rowe, Jr. wrote:
At 12:25 PM 9/22/2003, Brad Nicholes wrote:

NetWare uses the Unix implementation of apr_file_dup() and
apr_file_dup2(). There is not a NetWare specific implementation of
these functions. After looking at the apr_file_t structures for Unix
and NetWare, and comparing them to the initialization that is done in
the functions, it appears that the only missing initialization is


is_pipe
flags     (if not dup2 call)
timeout

Is there a reason why these fields would not be set to the original
values after a call to apr_file_dup() or apr_file_dup2()?


Offhand, is_pipe should be dupped, I believe.

flags and timeout are very tricky. Are they dup()ed by all OS's? Some side effects, like close-on-exec sort of stuff should NOT be dupped,
we want the new handle to close-on-exec even if the original did not (think
of dupping stderr - we don't want to close fd 2 but we would certainly intend
to have fd 712 close unless explicitly changed.)

may I suggest that apr needs to provide a coverage test for the dup functionality? sorry, but I'm not volunteering to do that. Just something that's needed before releasing 1.0.


__________________________________________________________________
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



Reply via email to