From 7e7e983781e3a422093f373e337a1c23cf3202c7 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Mon, 12 Sep 2011 18:41:48 +0200 Subject: [PATCH] uv: upgrade to b450d87 --- deps/uv/src/unix/eio/eio.c | 12 +++++++++++- deps/uv/src/unix/fs.c | 2 ++ deps/uv/src/win/getaddrinfo.c | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/deps/uv/src/unix/eio/eio.c b/deps/uv/src/unix/eio/eio.c index a005db5d3b..74153ad164 100644 --- a/deps/uv/src/unix/eio/eio.c +++ b/deps/uv/src/unix/eio/eio.c @@ -1812,7 +1812,17 @@ eio__scandir (eio_req *req, etp_worker *self) #endif if (req->flags & EIO_FLAG_PTR1_FREE) - free (req->ptr1); + { + req->flags &= ~EIO_FLAG_PTR1_FREE; + free (req->ptr1); + req->ptr1 = NULL; + } + + if (!dirp) + { + req->errorno = errno; + return; + } req->flags |= EIO_FLAG_PTR1_FREE | EIO_FLAG_PTR2_FREE; req->ptr1 = dents = flags ? malloc (dentalloc * sizeof (eio_dirent)) : 0; diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c index cab41064b3..60f5e59d7a 100644 --- a/deps/uv/src/unix/fs.c +++ b/deps/uv/src/unix/fs.c @@ -123,6 +123,8 @@ static int uv__fs_after(eio_req* eio) { * callback. We must keep it until uv_fs_req_cleanup. If we get rid of * libeio this can be avoided. */ + if (req->eio->ptr2 == NULL) + break; buflen = 0; name = req->eio->ptr2; for (i = 0; i < req->result; i++) { diff --git a/deps/uv/src/win/getaddrinfo.c b/deps/uv/src/win/getaddrinfo.c index 1d4e819d76..3d313420ae 100644 --- a/deps/uv/src/win/getaddrinfo.c +++ b/deps/uv/src/win/getaddrinfo.c @@ -255,7 +255,7 @@ int uv_getaddrinfo(uv_loop_t* loop, goto error; } - uv_req_init(loop, (uv_req_t*) handle); + uv_req_init(loop, (uv_req_t*)handle); handle->getaddrinfo_cb = getaddrinfo_cb; handle->res = NULL;