summaryrefslogtreecommitdiff
path: root/src/ae.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ae.h')
-rw-r--r--src/ae.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/ae.h b/src/ae.h
index 9e23a6fde..e1dccfc76 100644
--- a/src/ae.h
+++ b/src/ae.h
@@ -33,8 +33,6 @@
#ifndef __AE_H__
#define __AE_H__
-#define AE_SETSIZE (1024*10) /* Max number of fd supported */
-
#define AE_OK 0
#define AE_ERR -1
@@ -87,10 +85,11 @@ typedef struct aeFiredEvent {
/* State of an event based program */
typedef struct aeEventLoop {
- int maxfd;
+ int maxfd; /* highest file descriptor currently registered */
+ int setsize; /* max number of file descriptors tracked */
long long timeEventNextId;
- aeFileEvent events[AE_SETSIZE]; /* Registered events */
- aeFiredEvent fired[AE_SETSIZE]; /* Fired events */
+ aeFileEvent *events; /* Registered events */
+ aeFiredEvent *fired; /* Fired events */
aeTimeEvent *timeEventHead;
int stop;
void *apidata; /* This is used for polling API specific data */
@@ -98,7 +97,7 @@ typedef struct aeEventLoop {
} aeEventLoop;
/* Prototypes */
-aeEventLoop *aeCreateEventLoop(void);
+aeEventLoop *aeCreateEventLoop(int setsize);
void aeDeleteEventLoop(aeEventLoop *eventLoop);
void aeStop(aeEventLoop *eventLoop);
int aeCreateFileEvent(aeEventLoop *eventLoop, int fd, int mask,