Ruediger Pluem wrote: > > On 06/08/2007 05:17 AM, [EMAIL PROTECTED] wrote: >> Author: pquerna >> Date: Thu Jun 7 20:17:41 2007 >> New Revision: 545385 >> >> URL: http://svn.apache.org/viewvc?view=rev&rev=545385 >> Log: >> Use the absolute timeout, as provided by mod_ssl, rather than trying to >> calculate a relative timeout. (which did it wrong anyways). >> >> Modified: >> httpd/httpd/trunk/modules/ssl/ssl_scache_memcache.c >> >> Modified: httpd/httpd/trunk/modules/ssl/ssl_scache_memcache.c >> URL: >> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_scache_memcache.c?view=diff&rev=545385&r1=545384&r2=545385 >> ============================================================================== >> --- httpd/httpd/trunk/modules/ssl/ssl_scache_memcache.c (original) >> +++ httpd/httpd/trunk/modules/ssl/ssl_scache_memcache.c Thu Jun 7 20:17:41 >> 2007 >> @@ -189,10 +189,6 @@ >> return FALSE; >> } >> >> - timeout -= time(NULL); >> - >> - timeout = apr_time_sec(timeout); >> - >> rv = apr_memcache_set(memctxt, strkey, (char*)ucp, nData, timeout, 0); > > > Maybe I am missing the point here, but timeout was already in seconds and > according to the > docs apr_memcache_set expects the ttl to be set in seconds. So I guess the > only thing that was > wrong above was > > timeout = apr_time_sec(timeout); > > as it tried to convert something to seconds that was already in seconds. > Doing > > timeout -= time(NULL); >
It would work, but its not needed. The memcache protocol supports both relative timeouts and absolute times[1]. mod_ssl already gave us an absolute time, so we can just pass it down. [1] - From the protocol docs: http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt """this number of seconds may not exceed 60*60*24*30 (number of seconds in 30 days); if the number sent by a client is larger than that, the server will consider it to be real Unix time value rather than an offset from current time.""" -Paul
