httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@gmail.com>
Subject Re: svn commit: r1542413 - /httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c
Date Sat, 16 Nov 2013 00:38:41 GMT
On Nov 15, 2013 7:00 PM, "Jim Jagielski" <jim@jagunet.com> wrote:
>
> When I looked at apr_file_write_full() it appeared that it
> could return APR_SUCCESS but not send all the data... I
> may be mistaken though. As long as APR_SUCCESS means that
> all data was sent, this is perfect.

I don't have it handy, but the APR doc says that written < planned only if
an error occurs.  Httpd had different uses of written.

There's still an odd call in mod_lua that needs to be fixed (along with the
surrounding OK/APR_SUCCESS confusion).
>
> On Nov 15, 2013, at 4:52 PM, trawick@apache.org wrote:
>
> > Author: trawick
> > Date: Fri Nov 15 21:52:58 2013
> > New Revision: 1542413
> >
> > URL: http://svn.apache.org/r1542413
> > Log:
> > Follow-up to r1540161:
> >
> > The last arg to apr_file_write_full() isn't needed
> > unless you need to know the number of bytes written before
> > an error occurred.
> >
> > Modified:
> >    httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c
> >
> > Modified: httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c
> > URL:
http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c?rev=1542413&r1=1542412&r2=1542413&view=diff
> >
==============================================================================
> > --- httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c (original)
> > +++ httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c Fri Nov 15
21:52:58 2013
> > @@ -179,7 +179,6 @@ static void store_slotmem(ap_slotmem_ins
> >     apr_size_t nbytes;
> >     const char *storename;
> >     unsigned char digest[APR_MD5_DIGESTSIZE];
> > -    apr_size_t written = 0;
> >
> >     storename = slotmem_filename(slotmem->gpool, slotmem->name, 1);
> >
> > @@ -203,12 +202,12 @@ static void store_slotmem(ap_slotmem_ins
> >         nbytes = (slotmem->desc.size * slotmem->desc.num) +
> >                  (slotmem->desc.num * sizeof(char)) +
AP_UNSIGNEDINT_OFFSET;
> >         apr_md5(digest, slotmem->persist, nbytes);
> > -        rv = apr_file_write_full(fp, slotmem->persist, nbytes,
&written);
> > -        if (rv == APR_SUCCESS && written == nbytes) {
> > -            rv = apr_file_write_full(fp, digest, APR_MD5_DIGESTSIZE,
&written);
> > +        rv = apr_file_write_full(fp, slotmem->persist, nbytes, NULL);
> > +        if (rv == APR_SUCCESS) {
> > +            rv = apr_file_write_full(fp, digest, APR_MD5_DIGESTSIZE,
NULL);
> >         }
> >         apr_file_close(fp);
> > -        if (rv != APR_SUCCESS || written != APR_MD5_DIGESTSIZE) {
> > +        if (rv != APR_SUCCESS) {
> >             apr_file_remove(storename, slotmem->gpool);
> >         }
> >     }
> >
> >
>

Mime
View raw message