]> git.saurik.com Git - redis.git/commitdiff
Merge branch 'unstable' into incrbyfloat
authorantirez <antirez@gmail.com>
Mon, 14 Nov 2011 14:59:56 +0000 (15:59 +0100)
committerantirez <antirez@gmail.com>
Mon, 14 Nov 2011 14:59:56 +0000 (15:59 +0100)
1  2 
src/redis.c
src/redis.h

diff --combined src/redis.c
index 527b053852e1b14401837c4e645707985ebe5bc1,23b7b280d8e8553d0806926b75a68c352e9e429b..a6d1b577203048b860549b9275854455da8ab9c3
@@@ -165,7 -165,6 +165,7 @@@ struct redisCommand redisCommandTable[
      {"hexists",hexistsCommand,3,"r",0,NULL,1,1,1,0,0},
      {"incrby",incrbyCommand,3,"wm",0,NULL,1,1,1,0,0},
      {"decrby",decrbyCommand,3,"wm",0,NULL,1,1,1,0,0},
 +    {"incrbyfloat",incrbyfloatCommand,3,"wm",0,NULL,1,1,1,0,0},
      {"getset",getsetCommand,3,"wm",0,NULL,1,1,1,0,0},
      {"mset",msetCommand,-3,"wm",0,NULL,1,-1,2,0,0},
      {"msetnx",msetnxCommand,-3,"wm",0,NULL,1,-1,2,0,0},
@@@ -563,17 -562,17 +563,17 @@@ void activeExpireCycle(void) 
           * of the keys were expired. */
          do {
              long num = dictSize(db->expires);
-             time_t now = time(NULL);
+             long long now = mstime();
  
              expired = 0;
              if (num > REDIS_EXPIRELOOKUPS_PER_CRON)
                  num = REDIS_EXPIRELOOKUPS_PER_CRON;
              while (num--) {
                  dictEntry *de;
-                 time_t t;
+                 long long t;
  
                  if ((de = dictGetRandomKey(db->expires)) == NULL) break;
-                 t = (time_t) dictGetVal(de);
+                 t = dictGetSignedIntegerVal(de);
                  if (now > t) {
                      sds key = dictGetKey(de);
                      robj *keyobj = createStringObject(key,sdslen(key));
diff --combined src/redis.h
index 0024792cc11850e722fa3820ef4b48aa5d47bfa9,79ff3a6a0583eb5e8a941327afd497e3c8cfc634..3d1e81aa9845b5e8d8365d0d64c7a1b27106ecf7
@@@ -39,7 -39,7 +39,7 @@@
  
  /* Static server configuration */
  #define REDIS_SERVERPORT        6379    /* TCP port */
- #define REDIS_MAXIDLETIME       (60*5)  /* default client timeout */
+ #define REDIS_MAXIDLETIME       0       /* default client timeout: infinite */
  #define REDIS_IOBUF_LEN         (1024*16)
  #define REDIS_LOADBUF_LEN       1024
  #define REDIS_DEFAULT_DBNUM     16
@@@ -811,7 -811,6 +811,7 @@@ robj *tryObjectEncoding(robj *o)
  robj *getDecodedObject(robj *o);
  size_t stringObjectLen(robj *o);
  robj *createStringObjectFromLongLong(long long value);
 +robj *createStringObjectFromLongDouble(long double value);
  robj *createListObject(void);
  robj *createZiplistObject(void);
  robj *createSetObject(void);
@@@ -824,8 -823,6 +824,8 @@@ int checkType(redisClient *c, robj *o, 
  int getLongLongFromObjectOrReply(redisClient *c, robj *o, long long *target, const char *msg);
  int getDoubleFromObjectOrReply(redisClient *c, robj *o, double *target, const char *msg);
  int getLongLongFromObject(robj *o, long long *target);
 +int getLongDoubleFromObject(robj *o, long double *target);
 +int getLongDoubleFromObjectOrReply(redisClient *c, robj *o, long double *target, const char *msg);
  char *strEncoding(int encoding);
  int compareStringObjects(robj *a, robj *b);
  int equalStringObjects(robj *a, robj *b);
@@@ -1007,7 -1004,6 +1007,7 @@@ void incrCommand(redisClient *c)
  void decrCommand(redisClient *c);
  void incrbyCommand(redisClient *c);
  void decrbyCommand(redisClient *c);
 +void incrbyfloatCommand(redisClient *c);
  void selectCommand(redisClient *c);
  void randomkeyCommand(redisClient *c);
  void keysCommand(redisClient *c);