uv: back-port c4611a4 from libuv
authorBen Noordhuis <info@bnoordhuis.nl>
Thu, 21 Jul 2011 01:42:39 +0000 (03:42 +0200)
committerBen Noordhuis <info@bnoordhuis.nl>
Thu, 21 Jul 2011 01:51:23 +0000 (03:51 +0200)
deps/uv/src/uv-unix.c

index d583c37..e614f0f 100644 (file)
@@ -870,13 +870,13 @@ static void uv__stream_io(EV_P_ ev_io* watcher, int revents) {
          stream->type == UV_NAMED_PIPE);
   assert(watcher == &stream->read_watcher ||
          watcher == &stream->write_watcher);
-  assert(stream->fd >= 0);
   assert(!uv_flag_is_set((uv_handle_t*)stream, UV_CLOSING));
 
   if (stream->connect_req) {
     uv__stream_connect(stream);
   } else {
     assert(revents & (EV_READ | EV_WRITE));
+    assert(stream->fd >= 0);
 
     if (revents & EV_READ) {
       uv__read((uv_stream_t*)stream);
@@ -908,7 +908,6 @@ static void uv__stream_connect(uv_stream_t* stream) {
   socklen_t errorsize = sizeof(int);
 
   assert(stream->type == UV_TCP || stream->type == UV_NAMED_PIPE);
-  assert(stream->fd >= 0);
   assert(req);
 
   if (stream->delayed_error) {
@@ -920,6 +919,7 @@ static void uv__stream_connect(uv_stream_t* stream) {
     stream->delayed_error = 0;
   } else {
     /* Normal situation: we need to get the socket error from the kernel. */
+    assert(stream->fd >= 0);
     getsockopt(stream->fd, SOL_SOCKET, SO_ERROR, &error, &errorsize);
   }