httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <stodd...@raleigh.ibm.com>
Subject Re: cvs commit: apache-2.0 STATUS
Date Tue, 15 Aug 2000 19:22:39 GMT

>
> >    RELEASE SHOWSTOPPERS:
> >   +    * Need to reintroduce the notion of MMAP_SEGMENT_SIZE which was
> >   +      lost with the creation of ap_bucket_mmap_create. Apache's
> >   +      timeout model is a timeout per-write. If we try to mmap
> >   +      an entire file and send it to a slow client, the write
> >   +      will timeout before the send is complete. Ditto for sendfile
> >   +      support.
> >   +
> As usual I could be confused, but...
>
> At least on Unix, when an APR socket has a timeout the socket is placed
> in non-blocking mode.  We'll call the kernel's write-type operation
> passing the mmap-ed storage as the buffer.  Because the socket is
> non-blocking, the kernel will return once it has consumed enough data
> to fill its send buffer.  APR then waits until the socket is writeable
> again.  It is this wait which corresponds to per-write.  In other
> words, we still have a per-write timeout.
>
> So tell me where am I confused :)

Okay, that makes sense for mmap. Is the bahaviour of Unix sendfile on a non-blocking
socket similar?

Bill


Mime
View raw message