ifdefs added to use kevent on Free Open and Net BSD as well. INFO and ae.c modified in order to report the multiplexing API in use

This commit is contained in:
antirez 2009-11-28 17:06:28 +01:00
parent 1751139117
commit 7a932b74cc
8 changed files with 25 additions and 4 deletions

7
ae.c

@ -373,9 +373,12 @@ int aeWait(int fd, int mask, long long milliseconds) {
}
}
void aeMain(aeEventLoop *eventLoop)
{
void aeMain(aeEventLoop *eventLoop) {
eventLoop->stop = 0;
while (!eventLoop->stop)
aeProcessEvents(eventLoop, AE_ALL_EVENTS);
}
char *aeGetApiName(void) {
return aeApiName();
}

1
ae.h

@ -111,5 +111,6 @@ int aeDeleteTimeEvent(aeEventLoop *eventLoop, long long id);
int aeProcessEvents(aeEventLoop *eventLoop, int flags);
int aeWait(int fd, int mask, long long milliseconds);
void aeMain(aeEventLoop *eventLoop);
char *aeGetApiName(void);
#endif

@ -85,3 +85,7 @@ static int aeApiPoll(aeEventLoop *eventLoop, struct timeval *tvp) {
}
return numevents;
}
static char *aeApiName(void) {
return "epoll";
}

@ -87,3 +87,7 @@ static int aeApiPoll(aeEventLoop *eventLoop, struct timeval *tvp) {
}
return numevents;
}
static char *aeApiName(void) {
return "kqueue";
}

@ -72,3 +72,7 @@ static int aeApiPoll(aeEventLoop *eventLoop, struct timeval *tvp) {
}
return numevents;
}
static char *aeApiName(void) {
return "select";
}

@ -31,7 +31,7 @@
#define HAVE_EPOLL 1
#endif
#ifdef __APPLE__
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined (__NetBSD__)
#define HAVE_KQUEUE 1
#endif

@ -5018,6 +5018,7 @@ static void infoCommand(redisClient *c) {
info = sdscatprintf(sdsempty(),
"redis_version:%s\r\n"
"arch_bits:%s\r\n"
"multiplexing_api:%s\r\n"
"uptime_in_seconds:%d\r\n"
"uptime_in_days:%d\r\n"
"connected_clients:%d\r\n"
@ -5031,6 +5032,7 @@ static void infoCommand(redisClient *c) {
"role:%s\r\n"
,REDIS_VERSION,
(sizeof(long) == 8) ? "64" : "32",
aeGetApiName(),
uptime,
uptime/(3600*24),
listLength(server.clients)-listLength(server.slaves),

@ -1,4 +1,7 @@
# TODO # test pipelining
# test-redis.tcl
# Redis test suite. Copyright (C) 2009 Salvatore Sanfilippo antirez@gmail.com
# This softare is released under the BSD License. See the COPYING file for
# more information.
set tcl_precision 17
source redis.tcl