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.
On Nov 15, 2013, at 4:52 PM, traw...@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); > } > } > >