From bfebefb716288ad5490e38172856245e1544e504 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 30 Jul 2003 05:53:50 +0000 Subject: [PATCH] Releasing 1.1.8 bugfix release. Avva: The below fixes the bug. There was a conflict between the usual meaning of exptime=0 (don't expire) and the new fancy let-exptime-be-used-as-delta stuff. git-svn-id: http://code.sixapart.com/svn/memcached/trunk@79 b0b603af-a30f-0410-a34e-baf09ae79d0b --- ChangeLog | 4 +++- configure.ac | 2 +- memcached.c | 9 +++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 69ba22e19a..b9416eb81b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ 2003-07-29 * version 1.1.7 - + * big bug fix: item exptime 0 meant expire immediately, not never + * version 1.1.8 + 2003-07-22 * make 'delete' take second arg, of time to refuse new add/replace * set/add/replace/delete can all take abs or delta time (delta can't diff --git a/configure.ac b/configure.ac index d39bb1e606..aa3c79cb37 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.52) -AC_INIT(memcached, 1.1.7, brad@danga.com) +AC_INIT(memcached, 1.1.8, brad@danga.com) AC_CONFIG_SRCDIR(memcached.c) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AM_CONFIG_HEADER(config.h) diff --git a/memcached.c b/memcached.c index 4aba931e22..cbbf048d72 100644 --- a/memcached.c +++ b/memcached.c @@ -47,14 +47,19 @@ static int delcurr; static int deltotal; time_t realtime(time_t exptime) { - time_t now = time(0); + time_t now; /* no. of seconds in 30 days - largest possible delta exptime */ #define REALTIME_MAXDELTA 60*60*24*30 + if (exptime == 0) return 0; /* 0 means never expire */ + if (exptime > REALTIME_MAXDELTA) return exptime; - else return exptime + now; + else { + now = time(0); + return exptime + now; + } } void stats_init(void) {