From e9261b1e2d5cf0e2838b69442d718784a6f7ab34 Mon Sep 17 00:00:00 2001 From: antirez Date: Thu, 3 Jan 2013 14:18:03 +0100 Subject: [PATCH] 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. --- src/ae.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ae.c b/src/ae.c index d2faed326..90be4e28f 100644 --- a/src/ae.c +++ b/src/ae.c @@ -38,6 +38,7 @@ #include #include #include +#include #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)