Re: core.c not handling APR_ENOTIMPL from apr_sendfile

2003-01-10 Thread William A. Rowe, Jr.
Allen,

  The test above the block of code... (apr _file_flags_get(fd) & APR_SENDFILE_ENABLED) 
should be false... If you look at
the code in Win32's apr_file_open() you will notice the case
ELSE_WIN_OS_IS_ANSI causes us to reset the ENABLED bit.

  I'm much more concerned why that flag isn't reset on Win32
than hacking in the quick-fix below.

Bill

At 01:09 PM 1/10/2003, you wrote:
>Without this I believe Win98/ME are broken
>on HEAD and APACHE_2_0_BRANCH. OK to commit?
>
>Allan
>
>Index: core.c
>===
>RCS file: /home/cvs/httpd-2.0/server/core.c,v
>retrieving revision 1.225.2.1
>diff -u -d -b -r1.225.2.1 core.c
>--- core.c  9 Jan 2003 16:27:25 -   1.225.2.1
>+++ core.c  10 Jan 2003 17:46:16 -
>@@ -3972,6 +3972,11 @@
>   sent */
> flags);   /* apr_sendfile flags*/
>
>+if (APR_ENOTIMPL == rv) {
>+rv = emulate_sendfile(net, fd, &hdtr, foffset, flen,
>+  &bytes_sent);
>+}
>+
>if (logio_add_bytes_out && bytes_sent > 0)
>logio_add_bytes_out(c, bytes_sent);
>}
>
>
>
>
>
>Index: core.c
>===
>RCS file: /home/cvs/httpd-2.0/server/core.c,v
>retrieving revision 1.225.2.1
>diff -u -d -b -r1.225.2.1 core.c
>--- core.c  9 Jan 2003 16:27:25 -   1.225.2.1
>+++ core.c  10 Jan 2003 17:46:16 -
>@@ -3972,6 +3972,11 @@
>sent */
>  flags);   /* apr_sendfile flags*/
> 
>+if (APR_ENOTIMPL == rv) {
>+rv = emulate_sendfile(net, fd, &hdtr, foffset, flen,
>+  &bytes_sent);
>+}
>+
> if (logio_add_bytes_out && bytes_sent > 0)
> logio_add_bytes_out(c, bytes_sent);
> }





core.c not handling APR_ENOTIMPL from apr_sendfile

2003-01-10 Thread Allan Edwards
Without this I believe Win98/ME are broken
on HEAD and APACHE_2_0_BRANCH. OK to commit?

Allan

Index: core.c
===
RCS file: /home/cvs/httpd-2.0/server/core.c,v
retrieving revision 1.225.2.1
diff -u -d -b -r1.225.2.1 core.c
--- core.c	9 Jan 2003 16:27:25 -	1.225.2.1
+++ core.c	10 Jan 2003 17:46:16 -
@@ -3972,6 +3972,11 @@
   sent */
 flags);   /* apr_sendfile flags*/

+if (APR_ENOTIMPL == rv) {
+rv = emulate_sendfile(net, fd, &hdtr, foffset, flen,
+  &bytes_sent);
+}
+
if (logio_add_bytes_out && bytes_sent > 0)
logio_add_bytes_out(c, bytes_sent);
}




Index: core.c
===
RCS file: /home/cvs/httpd-2.0/server/core.c,v
retrieving revision 1.225.2.1
diff -u -d -b -r1.225.2.1 core.c
--- core.c  9 Jan 2003 16:27:25 -   1.225.2.1
+++ core.c  10 Jan 2003 17:46:16 -
@@ -3972,6 +3972,11 @@
sent */
  flags);   /* apr_sendfile flags*/
 
+if (APR_ENOTIMPL == rv) {
+rv = emulate_sendfile(net, fd, &hdtr, foffset, flen,
+  &bytes_sent);
+}
+
 if (logio_add_bytes_out && bytes_sent > 0)
 logio_add_bytes_out(c, bytes_sent);
 }