]> git.saurik.com Git - redis.git/commitdiff
new ae.c API to get current events by file descriptor.
authorantirez <antirez@gmail.com>
Mon, 21 Nov 2011 15:05:29 +0000 (16:05 +0100)
committerantirez <antirez@gmail.com>
Mon, 21 Nov 2011 15:05:29 +0000 (16:05 +0100)
src/ae.c
src/ae.h

index c7918ee1d6c52732856e3335197c0dff675f9474..0580289002dfa72db5d1d267f13f27f0f02438d9 100644 (file)
--- a/src/ae.c
+++ b/src/ae.c
@@ -118,6 +118,13 @@ void aeDeleteFileEvent(aeEventLoop *eventLoop, int fd, int mask)
     aeApiDelEvent(eventLoop, fd, mask);
 }
 
+int aeGetFileEvents(aeEventLoop *eventLoop, int fd) {
+    if (fd >= AE_SETSIZE) return 0;
+    aeFileEvent *fe = &eventLoop->events[fd];
+
+    return fe->mask;
+}
+
 static void aeGetTime(long *seconds, long *milliseconds)
 {
     struct timeval tv;
index a9db18ed93356f759ceee4ecc60c5e68c655db60..9e23a6fdeea0352d996dcd0a183520c272071641 100644 (file)
--- a/src/ae.h
+++ b/src/ae.h
@@ -104,6 +104,7 @@ void aeStop(aeEventLoop *eventLoop);
 int aeCreateFileEvent(aeEventLoop *eventLoop, int fd, int mask,
         aeFileProc *proc, void *clientData);
 void aeDeleteFileEvent(aeEventLoop *eventLoop, int fd, int mask);
+int aeGetFileEvents(aeEventLoop *eventLoop, int fd);
 long long aeCreateTimeEvent(aeEventLoop *eventLoop, long long milliseconds,
         aeTimeProc *proc, void *clientData,
         aeEventFinalizerProc *finalizerProc);