Joe Schaefer <[EMAIL PROTECTED]> writes:

> "Vinay Y S" <[EMAIL PROTECTED]> writes:
>
>> There is a problem with apreq temp file cleanup on win32. For each
>> POST request with POST body greater than 256KB, TWO temp files of
>> exact same size get created in temp directory and they are not deleted
>> even after the request is handled. They get deleted when apache server
>> is stopped.
>
> Thanks for the detailed report and patch!
> What version of apr are you using?  The reason I ask is 
> because whenever you open a file, normally a pool cleanup hook is
> registered to close it.

Ah, I see now. I should have looked at the source before opening
my mouth ;-):

    flag = APR_CREATE | APR_READ | APR_WRITE | APR_EXCL | APR_BINARY;
    /* Win32 needs the following to remove temp files.
     * XXX: figure out why the APR_SHARELOCK flag works;
     * a grep through the httpd sources seems to indicate
     * it's only used in sdbm files??
    */
#ifdef WIN32
    flag |= APR_FILE_NOCLEANUP | APR_SHARELOCK;
#endif
    rc = apr_file_mktemp(fp, tmpl, flag, pool);

Randy, do you know why we use the APR_FILE_NOCLEANUP flag?  Maybe
we should just remove that and see if it fixes the problem Vinay
is seeing.

-- 
Joe Schaefer

Reply via email to