mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 09:00:51 +00:00
commit
bae60ede1d
@ -58,7 +58,7 @@ static int getBitOffsetFromArgument(redisClient *c, robj *o, size_t *offset) {
|
|||||||
/* Count number of bits set in the binary array pointed by 's' and long
|
/* Count number of bits set in the binary array pointed by 's' and long
|
||||||
* 'count' bytes. The implementation of this function is required to
|
* 'count' bytes. The implementation of this function is required to
|
||||||
* work with a input string length up to 512 MB. */
|
* work with a input string length up to 512 MB. */
|
||||||
size_t popcount(void *s, long count) {
|
size_t popcount_binary(void *s, long count) {
|
||||||
size_t bits = 0;
|
size_t bits = 0;
|
||||||
unsigned char *p;
|
unsigned char *p;
|
||||||
uint32_t *p4 = s;
|
uint32_t *p4 = s;
|
||||||
@ -407,6 +407,6 @@ void bitcountCommand(redisClient *c) {
|
|||||||
} else {
|
} else {
|
||||||
long bytes = end-start+1;
|
long bytes = end-start+1;
|
||||||
|
|
||||||
addReplyLongLong(c,popcount(p+start,bytes));
|
addReplyLongLong(c,popcount_binary(p+start,bytes));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -996,8 +996,8 @@ void configGetCommand(redisClient *c) {
|
|||||||
int j;
|
int j;
|
||||||
|
|
||||||
for (j = 0; j < server.saveparamslen; j++) {
|
for (j = 0; j < server.saveparamslen; j++) {
|
||||||
buf = sdscatprintf(buf,"%ld %d",
|
buf = sdscatprintf(buf,"%jd %d",
|
||||||
server.saveparams[j].seconds,
|
(intmax_t)server.saveparams[j].seconds,
|
||||||
server.saveparams[j].changes);
|
server.saveparams[j].changes);
|
||||||
if (j != server.saveparamslen-1)
|
if (j != server.saveparamslen-1)
|
||||||
buf = sdscatlen(buf," ",1);
|
buf = sdscatlen(buf," ",1);
|
||||||
|
@ -329,8 +329,11 @@ void debugCommand(redisClient *c) {
|
|||||||
} else if (!strcasecmp(c->argv[1]->ptr,"sleep") && c->argc == 3) {
|
} else if (!strcasecmp(c->argv[1]->ptr,"sleep") && c->argc == 3) {
|
||||||
double dtime = strtod(c->argv[2]->ptr,NULL);
|
double dtime = strtod(c->argv[2]->ptr,NULL);
|
||||||
long long utime = dtime*1000000;
|
long long utime = dtime*1000000;
|
||||||
|
struct timespec tv;
|
||||||
|
|
||||||
usleep(utime);
|
tv.tv_sec = utime / 1000000;
|
||||||
|
tv.tv_nsec = (utime % 1000000) * 1000;
|
||||||
|
nanosleep(&tv, NULL);
|
||||||
addReply(c,shared.ok);
|
addReply(c,shared.ok);
|
||||||
} else if (!strcasecmp(c->argv[1]->ptr,"set-active-expire") &&
|
} else if (!strcasecmp(c->argv[1]->ptr,"set-active-expire") &&
|
||||||
c->argc == 3)
|
c->argc == 3)
|
||||||
|
@ -36,9 +36,13 @@
|
|||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
#if defined(__linux__) || defined(__OpenBSD__)
|
||||||
#define _XOPEN_SOURCE 700
|
#define _XOPEN_SOURCE 700
|
||||||
#else
|
/*
|
||||||
|
* On NetBSD, _XOPEN_SOURCE undefines _NETBSD_SOURCE and
|
||||||
|
* thus hides inet_aton etc.
|
||||||
|
*/
|
||||||
|
#elif !defined(__NetBSD__)
|
||||||
#define _XOPEN_SOURCE
|
#define _XOPEN_SOURCE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
44
src/redis.c
44
src/redis.c
@ -2126,8 +2126,8 @@ sds genRedisInfoString(char *section) {
|
|||||||
"process_id:%ld\r\n"
|
"process_id:%ld\r\n"
|
||||||
"run_id:%s\r\n"
|
"run_id:%s\r\n"
|
||||||
"tcp_port:%d\r\n"
|
"tcp_port:%d\r\n"
|
||||||
"uptime_in_seconds:%ld\r\n"
|
"uptime_in_seconds:%jd\r\n"
|
||||||
"uptime_in_days:%ld\r\n"
|
"uptime_in_days:%jd\r\n"
|
||||||
"hz:%d\r\n"
|
"hz:%d\r\n"
|
||||||
"lru_clock:%ld\r\n"
|
"lru_clock:%ld\r\n"
|
||||||
"config_file:%s\r\n",
|
"config_file:%s\r\n",
|
||||||
@ -2147,8 +2147,8 @@ sds genRedisInfoString(char *section) {
|
|||||||
(long) getpid(),
|
(long) getpid(),
|
||||||
server.runid,
|
server.runid,
|
||||||
server.port,
|
server.port,
|
||||||
uptime,
|
(intmax_t)uptime,
|
||||||
uptime/(3600*24),
|
(intmax_t)(uptime/(3600*24)),
|
||||||
server.hz,
|
server.hz,
|
||||||
(unsigned long) server.lruclock,
|
(unsigned long) server.lruclock,
|
||||||
server.configfile ? server.configfile : "");
|
server.configfile ? server.configfile : "");
|
||||||
@ -2205,30 +2205,30 @@ sds genRedisInfoString(char *section) {
|
|||||||
"loading:%d\r\n"
|
"loading:%d\r\n"
|
||||||
"rdb_changes_since_last_save:%lld\r\n"
|
"rdb_changes_since_last_save:%lld\r\n"
|
||||||
"rdb_bgsave_in_progress:%d\r\n"
|
"rdb_bgsave_in_progress:%d\r\n"
|
||||||
"rdb_last_save_time:%ld\r\n"
|
"rdb_last_save_time:%jd\r\n"
|
||||||
"rdb_last_bgsave_status:%s\r\n"
|
"rdb_last_bgsave_status:%s\r\n"
|
||||||
"rdb_last_bgsave_time_sec:%ld\r\n"
|
"rdb_last_bgsave_time_sec:%jd\r\n"
|
||||||
"rdb_current_bgsave_time_sec:%ld\r\n"
|
"rdb_current_bgsave_time_sec:%jd\r\n"
|
||||||
"aof_enabled:%d\r\n"
|
"aof_enabled:%d\r\n"
|
||||||
"aof_rewrite_in_progress:%d\r\n"
|
"aof_rewrite_in_progress:%d\r\n"
|
||||||
"aof_rewrite_scheduled:%d\r\n"
|
"aof_rewrite_scheduled:%d\r\n"
|
||||||
"aof_last_rewrite_time_sec:%ld\r\n"
|
"aof_last_rewrite_time_sec:%jd\r\n"
|
||||||
"aof_current_rewrite_time_sec:%ld\r\n"
|
"aof_current_rewrite_time_sec:%jd\r\n"
|
||||||
"aof_last_bgrewrite_status:%s\r\n",
|
"aof_last_bgrewrite_status:%s\r\n",
|
||||||
server.loading,
|
server.loading,
|
||||||
server.dirty,
|
server.dirty,
|
||||||
server.rdb_child_pid != -1,
|
server.rdb_child_pid != -1,
|
||||||
server.lastsave,
|
(intmax_t)server.lastsave,
|
||||||
(server.lastbgsave_status == REDIS_OK) ? "ok" : "err",
|
(server.lastbgsave_status == REDIS_OK) ? "ok" : "err",
|
||||||
server.rdb_save_time_last,
|
(intmax_t)server.rdb_save_time_last,
|
||||||
(server.rdb_child_pid == -1) ?
|
(intmax_t)((server.rdb_child_pid == -1) ?
|
||||||
-1 : time(NULL)-server.rdb_save_time_start,
|
-1 : time(NULL)-server.rdb_save_time_start),
|
||||||
server.aof_state != REDIS_AOF_OFF,
|
server.aof_state != REDIS_AOF_OFF,
|
||||||
server.aof_child_pid != -1,
|
server.aof_child_pid != -1,
|
||||||
server.aof_rewrite_scheduled,
|
server.aof_rewrite_scheduled,
|
||||||
server.aof_rewrite_time_last,
|
(intmax_t)server.aof_rewrite_time_last,
|
||||||
(server.aof_child_pid == -1) ?
|
(intmax_t)((server.aof_child_pid == -1) ?
|
||||||
-1 : time(NULL)-server.aof_rewrite_time_start,
|
-1 : time(NULL)-server.aof_rewrite_time_start),
|
||||||
(server.aof_lastbgrewrite_status == REDIS_OK) ? "ok" : "err");
|
(server.aof_lastbgrewrite_status == REDIS_OK) ? "ok" : "err");
|
||||||
|
|
||||||
if (server.aof_state != REDIS_AOF_OFF) {
|
if (server.aof_state != REDIS_AOF_OFF) {
|
||||||
@ -2267,16 +2267,16 @@ sds genRedisInfoString(char *section) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
info = sdscatprintf(info,
|
info = sdscatprintf(info,
|
||||||
"loading_start_time:%ld\r\n"
|
"loading_start_time:%jd\r\n"
|
||||||
"loading_total_bytes:%llu\r\n"
|
"loading_total_bytes:%llu\r\n"
|
||||||
"loading_loaded_bytes:%llu\r\n"
|
"loading_loaded_bytes:%llu\r\n"
|
||||||
"loading_loaded_perc:%.2f\r\n"
|
"loading_loaded_perc:%.2f\r\n"
|
||||||
"loading_eta_seconds:%ld\r\n"
|
"loading_eta_seconds:%jd\r\n",
|
||||||
,(unsigned long) server.loading_start_time,
|
(intmax_t) server.loading_start_time,
|
||||||
(unsigned long long) server.loading_total_bytes,
|
(unsigned long long) server.loading_total_bytes,
|
||||||
(unsigned long long) server.loading_loaded_bytes,
|
(unsigned long long) server.loading_loaded_bytes,
|
||||||
perc,
|
perc,
|
||||||
eta
|
(intmax_t)eta
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2355,8 +2355,8 @@ sds genRedisInfoString(char *section) {
|
|||||||
|
|
||||||
if (server.repl_state != REDIS_REPL_CONNECTED) {
|
if (server.repl_state != REDIS_REPL_CONNECTED) {
|
||||||
info = sdscatprintf(info,
|
info = sdscatprintf(info,
|
||||||
"master_link_down_since_seconds:%ld\r\n",
|
"master_link_down_since_seconds:%jd\r\n",
|
||||||
(long)server.unixtime-server.repl_down_since);
|
(intmax_t)server.unixtime-server.repl_down_since);
|
||||||
}
|
}
|
||||||
info = sdscatprintf(info,
|
info = sdscatprintf(info,
|
||||||
"slave_priority:%d\r\n"
|
"slave_priority:%d\r\n"
|
||||||
|
@ -1029,7 +1029,7 @@ long long mstime(void);
|
|||||||
void getRandomHexChars(char *p, unsigned int len);
|
void getRandomHexChars(char *p, unsigned int len);
|
||||||
uint64_t crc64(uint64_t crc, const unsigned char *s, uint64_t l);
|
uint64_t crc64(uint64_t crc, const unsigned char *s, uint64_t l);
|
||||||
void exitFromChild(int retcode);
|
void exitFromChild(int retcode);
|
||||||
size_t popcount(void *s, long count);
|
size_t popcount_binary(void *s, long count);
|
||||||
void redisSetProcTitle(char *title);
|
void redisSetProcTitle(char *title);
|
||||||
|
|
||||||
/* networking.c -- Networking and Client related operations */
|
/* networking.c -- Networking and Client related operations */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user