httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Querna <c...@force-elite.com>
Subject Re: svn commit: r545385 - /httpd/httpd/trunk/modules/ssl/ssl_scache_memcache.c
Date Fri, 08 Jun 2007 15:58:47 GMT
Ruediger Pluem wrote:
> 
> On 06/08/2007 05:17 AM, pquerna@apache.org 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


Mime
View raw message