55
66#include < algorithm>
77
8+ // TODO(RaisinTen): Replace all uses with empty `v8::Maybe`s.
9+ #define JS_EXCEPTION_PENDING UV_EPROTO
10+
811namespace node {
912
1013using errors::TryCatchScope;
@@ -60,7 +63,7 @@ int JSUDPWrap::RecvStart() {
6063 Context::Scope context_scope (env ()->context ());
6164 TryCatchScope try_catch (env ());
6265 Local<Value> value;
63- int32_t value_int = UV_EPROTO ;
66+ int32_t value_int = JS_EXCEPTION_PENDING ;
6467 if (!MakeCallback (env ()->onreadstart_string (), 0 , nullptr ).ToLocal (&value) ||
6568 !value->Int32Value (env ()->context ()).To (&value_int)) {
6669 if (try_catch.HasCaught () && !try_catch.HasTerminated ())
@@ -74,7 +77,7 @@ int JSUDPWrap::RecvStop() {
7477 Context::Scope context_scope (env ()->context ());
7578 TryCatchScope try_catch (env ());
7679 Local<Value> value;
77- int32_t value_int = UV_EPROTO ;
80+ int32_t value_int = JS_EXCEPTION_PENDING ;
7881 if (!MakeCallback (env ()->onreadstop_string (), 0 , nullptr ).ToLocal (&value) ||
7982 !value->Int32Value (env ()->context ()).To (&value_int)) {
8083 if (try_catch.HasCaught () && !try_catch.HasTerminated ())
@@ -90,7 +93,7 @@ ssize_t JSUDPWrap::Send(uv_buf_t* bufs,
9093 Context::Scope context_scope (env ()->context ());
9194 TryCatchScope try_catch (env ());
9295 Local<Value> value;
93- int64_t value_int = UV_EPROTO ;
96+ int64_t value_int = JS_EXCEPTION_PENDING ;
9497 size_t total_len = 0 ;
9598
9699 MaybeStackBuffer<Local<Value>, 16 > buffers (nbufs);
@@ -100,10 +103,13 @@ ssize_t JSUDPWrap::Send(uv_buf_t* bufs,
100103 total_len += bufs[i].len ;
101104 }
102105
106+ Local<Object> address;
107+ if (!AddressToJS (env (), addr).ToLocal (&address)) return value_int;
108+
103109 Local<Value> args[] = {
104110 listener ()->CreateSendWrap (total_len)->object (),
105111 Array::New (env ()->isolate (), buffers.out (), nbufs),
106- AddressToJS ( env (), addr)
112+ address,
107113 };
108114
109115 if (!MakeCallback (env ()->onwrite_string (), arraysize (args), args)
0 commit comments