httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Schaefer <>
Subject Re: [apreq-2] Open upload with or without :APR
Date Thu, 22 Jul 2004 14:16:47 GMT
Markus Wichitill <> writes:


> I think we only actually need :APR on Windows, right? We don't need to
> care about more complicated has_large_files_conflict() stuff on Unix,
> since :APR is only needed to set those two special Win32 file flags.
> So how about these simple "if ($^O =~ /Win32/)" patches?

Looks ok to me in principle- but this is really Randy's call.


> Regarding the last chunk: for the link test in to succeed,
> I didn't actually need the :APR on Win32, unlike for the link test in
> I'm not sure why, but I guess using the same code can't hurt.

Probably because link()ed files don't need to SHARE_DELETE,
since only the temp file is actually scheduled for deletion.

> On Win32 Perl 5.8 is required anyway and the AS binaries used by most
> people have PerlIO enabled. Both the AS binaries and the official
> Apache binaries have largefiles support. So unless someone compiles
> Perl without PerlIO or Perl and Apache with diverging largefile
> support, Win32 users should be able to use :APR. 

This is good to know- thanks!

> Of course it's still not possible to simply pass $upload->tempname to
> someone's Perl module or external program (which is was what the
> person that requested tempname on the mp list wanted) and be
> Win32-compatible. 

We're about as close (with your patch, e.g.) as we can reasonably go with 
this, IMO.  We want to allow folks to pass the name to an external app for 
processing, but it's not our problem if *that* app has trouble
opening the file.  We just need to remind module authors about the 
usefulness of link() in this context, and that fh() (or better io()), 
also work as documented on all supported platforms.  If so, we really 
just need fh() to use "<:APR" on Win32, and document that fh() requires
5.8 on Windows.

If someone sorts this Win32 tempfile mess out, please patch FAQ.pod.

Joe Schaefer

View raw message