diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2012-02-12 16:12:26 +0100 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2012-02-12 16:12:26 +0100 |
commit | 8a6576f764f73e4f74c277aa5f9bb4490ea07cf1 (patch) | |
tree | 3e372835ec5b25b56b1bccd27ae74932dd0854cd /src | |
parent | a27320e00f12d26dad1b464bf89484faf429a688 (diff) | |
parent | 2f759a7090a15824a261e168221caa5109c86d44 (diff) | |
download | node-new-8a6576f764f73e4f74c277aa5f9bb4490ea07cf1.tar.gz |
Merge remote-tracking branch 'origin/v0.6'
Conflicts:
common.gypi
Diffstat (limited to 'src')
-rw-r--r-- | src/pipe_wrap.cc | 15 | ||||
-rw-r--r-- | src/tcp_wrap.cc | 8 |
2 files changed, 17 insertions, 6 deletions
diff --git a/src/pipe_wrap.cc b/src/pipe_wrap.cc index 1870837bca..6c3887d84f 100644 --- a/src/pipe_wrap.cc +++ b/src/pipe_wrap.cc @@ -53,6 +53,7 @@ using v8::TryCatch; using v8::Context; using v8::Arguments; using v8::Integer; +using v8::Boolean; Persistent<Function> pipeConstructor; @@ -224,17 +225,25 @@ void PipeWrap::AfterConnect(uv_connect_t* req, int status) { assert(req_wrap->object_.IsEmpty() == false); assert(wrap->object_.IsEmpty() == false); + bool readable, writable; + if (status) { SetErrno(uv_last_error(uv_default_loop())); + readable = writable = 0; + } else { + readable = uv_is_readable(req->handle) != 0; + writable = uv_is_writable(req->handle) != 0; } - Local<Value> argv[3] = { + Local<Value> argv[5] = { Integer::New(status), Local<Value>::New(wrap->object_), - Local<Value>::New(req_wrap->object_) + Local<Value>::New(req_wrap->object_), + Local<Value>::New(Boolean::New(readable)), + Local<Value>::New(Boolean::New(writable)) }; - MakeCallback(req_wrap->object_, "oncomplete", 3, argv); + MakeCallback(req_wrap->object_, "oncomplete", 5, argv); delete req_wrap; } diff --git a/src/tcp_wrap.cc b/src/tcp_wrap.cc index b2b8c5cd56..688d7d7190 100644 --- a/src/tcp_wrap.cc +++ b/src/tcp_wrap.cc @@ -396,13 +396,15 @@ void TCPWrap::AfterConnect(uv_connect_t* req, int status) { SetErrno(uv_last_error(uv_default_loop())); } - Local<Value> argv[3] = { + Local<Value> argv[5] = { Integer::New(status), Local<Value>::New(wrap->object_), - Local<Value>::New(req_wrap->object_) + Local<Value>::New(req_wrap->object_), + Local<Value>::New(v8::True()), + Local<Value>::New(v8::True()) }; - MakeCallback(req_wrap->object_, "oncomplete", 3, argv); + MakeCallback(req_wrap->object_, "oncomplete", 5, argv); delete req_wrap; } |