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.
This commit is contained in:
antirez 2013-01-03 14:18:03 +01:00
parent 1d235fa5ad
commit a74c0a06b5

View File

@ -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)