Fix errors not propagating properly with libuv.h.
This commit is contained in:
parent
970e5fa0a3
commit
9ce15c4b39
@ -15,15 +15,12 @@ typedef struct redisLibuvEvents {
|
|||||||
|
|
||||||
static void redisLibuvPoll(uv_poll_t* handle, int status, int events) {
|
static void redisLibuvPoll(uv_poll_t* handle, int status, int events) {
|
||||||
redisLibuvEvents* p = (redisLibuvEvents*)handle->data;
|
redisLibuvEvents* p = (redisLibuvEvents*)handle->data;
|
||||||
|
int ev = (status ? p->events : events);
|
||||||
|
|
||||||
if (status != 0) {
|
if (p->context != NULL && (ev & UV_READABLE)) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (p->context != NULL && (events & UV_READABLE)) {
|
|
||||||
redisAsyncHandleRead(p->context);
|
redisAsyncHandleRead(p->context);
|
||||||
}
|
}
|
||||||
if (p->context != NULL && (events & UV_WRITABLE)) {
|
if (p->context != NULL && (ev & UV_WRITABLE)) {
|
||||||
redisAsyncHandleWrite(p->context);
|
redisAsyncHandleWrite(p->context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user