5
5
6
6
#include < algorithm>
7
7
8
+ // TODO(RaisinTen): Replace all uses with empty `v8::Maybe`s.
9
+ #define JS_EXCEPTION_PENDING UV_EPROTO
10
+
8
11
namespace node {
9
12
10
13
using errors::TryCatchScope;
@@ -60,7 +63,7 @@ int JSUDPWrap::RecvStart() {
60
63
Context::Scope context_scope (env ()->context ());
61
64
TryCatchScope try_catch (env ());
62
65
Local<Value> value;
63
- int32_t value_int = UV_EPROTO ;
66
+ int32_t value_int = JS_EXCEPTION_PENDING ;
64
67
if (!MakeCallback (env ()->onreadstart_string (), 0 , nullptr ).ToLocal (&value) ||
65
68
!value->Int32Value (env ()->context ()).To (&value_int)) {
66
69
if (try_catch.HasCaught () && !try_catch.HasTerminated ())
@@ -74,7 +77,7 @@ int JSUDPWrap::RecvStop() {
74
77
Context::Scope context_scope (env ()->context ());
75
78
TryCatchScope try_catch (env ());
76
79
Local<Value> value;
77
- int32_t value_int = UV_EPROTO ;
80
+ int32_t value_int = JS_EXCEPTION_PENDING ;
78
81
if (!MakeCallback (env ()->onreadstop_string (), 0 , nullptr ).ToLocal (&value) ||
79
82
!value->Int32Value (env ()->context ()).To (&value_int)) {
80
83
if (try_catch.HasCaught () && !try_catch.HasTerminated ())
@@ -90,7 +93,7 @@ ssize_t JSUDPWrap::Send(uv_buf_t* bufs,
90
93
Context::Scope context_scope (env ()->context ());
91
94
TryCatchScope try_catch (env ());
92
95
Local<Value> value;
93
- int64_t value_int = UV_EPROTO ;
96
+ int64_t value_int = JS_EXCEPTION_PENDING ;
94
97
size_t total_len = 0 ;
95
98
96
99
MaybeStackBuffer<Local<Value>, 16 > buffers (nbufs);
@@ -100,10 +103,13 @@ ssize_t JSUDPWrap::Send(uv_buf_t* bufs,
100
103
total_len += bufs[i].len ;
101
104
}
102
105
106
+ Local<Object> address;
107
+ if (!AddressToJS (env (), addr).ToLocal (&address)) return value_int;
108
+
103
109
Local<Value> args[] = {
104
110
listener ()->CreateSendWrap (total_len)->object (),
105
111
Array::New (env ()->isolate (), buffers.out (), nbufs),
106
- AddressToJS ( env (), addr)
112
+ address,
107
113
};
108
114
109
115
if (!MakeCallback (env ()->onwrite_string (), arraysize (args), args)
0 commit comments