diff options
author | antirez <antirez@gmail.com> | 2013-01-03 14:18:03 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2013-01-03 14:32:06 +0100 |
commit | 1f8ad7ae5532f760760985031292c4f7af92a3d0 (patch) | |
tree | b04cea666d6c557c6039b890c1c41a92df7164c4 | |
parent | 4468ba231785fe9fda26f2d05181f91342d91c2d (diff) | |
download | redis-1f8ad7ae5532f760760985031292c4f7af92a3d0.tar.gz |
ae.c: set errno when error is not a failing syscall.
In this way the caller is able to perform better error checking or to
use strerror() without the risk of meaningless error messages being
displayed.
-rw-r--r-- | src/ae.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -38,6 +38,7 @@ #include <poll.h> #include <string.h> #include <time.h> +#include <errno.h> #include "ae.h" #include "zmalloc.h" @@ -104,7 +105,10 @@ void aeStop(aeEventLoop *eventLoop) { int aeCreateFileEvent(aeEventLoop *eventLoop, int fd, int mask, aeFileProc *proc, void *clientData) { - if (fd >= eventLoop->setsize) return AE_ERR; + if (fd >= eventLoop->setsize) { + errno = ERANGE; + return AE_ERR; + } aeFileEvent *fe = &eventLoop->events[fd]; if (aeApiAddEvent(eventLoop, fd, mask) == -1) |