| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -80,6 +80,7 @@ void {{ cppClassName }}::{{ cppFunctionName }}_{{ cbFunction.name }}_async(uv_as | |||
| 80 | 80 | ||
| 81 | 81 | NanAssignPersistent(baton->promise, promise); | |
| 82 | 82 | ||
| 83 | + uv_close((uv_handle_t*) &baton->req, NULL); | ||
| 83 | 84 | uv_async_init(uv_default_loop(), &baton->req, (uv_async_cb) {{ cppFunctionName }}_{{ cbFunction.name }}_asyncPromisePolling); | |
| 84 | 85 | uv_async_send(&baton->req); | |
| 85 | 86 | return; | |
@@ -110,7 +111,9 @@ void {{ cppClassName }}::{{ cppFunctionName }}_{{ cbFunction.name }}_async(uv_as | |||
| 110 | 111 | baton->result = {{ cbFunction.return.noResults }}; | |
| 111 | 112 | } | |
| 112 | 113 | {% endeach %} | |
| 114 | + | ||
| 113 | 115 | baton->done = true; | |
| 116 | + uv_close((uv_handle_t*) &baton->req, NULL); | ||
| 114 | 117 | } | |
| 115 | 118 | ||
| 116 | 119 | void {{ cppClassName }}::{{ cppFunctionName }}_{{ cbFunction.name }}_asyncPromisePolling(uv_async_t* req, int status) { | |
@@ -120,19 +123,19 @@ void {{ cppClassName }}::{{ cppFunctionName }}_{{ cbFunction.name }}_asyncPromis | |||
| 120 | 123 | Local<Object> promise = NanNew<Object>(baton->promise); | |
| 121 | 124 | NanCallback* isPendingFn = new NanCallback(promise->Get(NanNew("isPending")).As<Function>()); | |
| 122 | 125 | Local<Value> argv[1]; // MSBUILD won't assign an array of length 0 | |
| 123 | - Local<Boolean> isPending = isPendingFn->Call(0, argv)->ToBoolean(); | ||
| 126 | + Local<Boolean> isPending = isPendingFn->Call(promise, 0, argv)->ToBoolean(); | ||
| 124 | 127 | ||
| 125 | 128 | if (isPending->Value()) { | |
| 126 | 129 | uv_async_send(&baton->req); | |
| 127 | 130 | return; | |
| 128 | 131 | } | |
| 129 | 132 | ||
| 130 | 133 | NanCallback* isFulfilledFn = new NanCallback(promise->Get(NanNew("isFulfilled")).As<Function>()); | |
| 131 | - Local<Boolean> isFulfilled = isFulfilledFn->Call(0, argv)->ToBoolean(); | ||
| 134 | + Local<Boolean> isFulfilled = isFulfilledFn->Call(promise, 0, argv)->ToBoolean(); | ||
| 132 | 135 | ||
| 133 | 136 | if (isFulfilled->Value()) { | |
| 134 | 137 | NanCallback* resultFn = new NanCallback(promise->Get(NanNew("value")).As<Function>()); | |
| 135 | - Handle<v8::Value> result = resultFn->Call(0, argv); | ||
| 138 | + Handle<v8::Value> result = resultFn->Call(promise, 0, argv); | ||
| 136 | 139 | ||
| 137 | 140 | {% each cbFunction|returnsInfo false true as _return %} | |
| 138 | 141 | if (result.IsEmpty() || result->IsNativeError()) { | |
@@ -165,6 +168,8 @@ void {{ cppClassName }}::{{ cppFunctionName }}_{{ cbFunction.name }}_asyncPromis | |||
| 165 | 168 | baton->result = {{ cbFunction.return.error }}; | |
| 166 | 169 | baton->done = false; | |
| 167 | 170 | } | |
| 171 | + | ||
| 172 | + uv_close((uv_handle_t*) &baton->req, NULL); | ||
| 168 | 173 | } | |
| 169 | 174 | {%endif%} | |
| 170 | 175 | {%endeach%} | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -173,6 +173,7 @@ | |||
| 173 | 173 | ||
| 174 | 174 | NanAssignPersistent(baton->promise, promise); | |
| 175 | 175 | ||
| 176 | + uv_close((uv_handle_t*) &baton->req, NULL); | ||
| 176 | 177 | uv_async_init(uv_default_loop(), &baton->req, (uv_async_cb) {{ field.name }}_asyncPromisePolling); | |
| 177 | 178 | uv_async_send(&baton->req); | |
| 178 | 179 | return; | |
@@ -204,6 +205,7 @@ | |||
| 204 | 205 | } | |
| 205 | 206 | {% endeach %} | |
| 206 | 207 | baton->done = true; | |
| 208 | + uv_close((uv_handle_t*) &baton->req, NULL); | ||
| 207 | 209 | } | |
| 208 | 210 | ||
| 209 | 211 | void {{ cppClassName }}::{{ field.name }}_asyncPromisePolling(uv_async_t* req, int status) { | |
@@ -213,19 +215,19 @@ | |||
| 213 | 215 | Local<Object> promise = NanNew<Object>(baton->promise); | |
| 214 | 216 | NanCallback* isPendingFn = new NanCallback(promise->Get(NanNew("isPending")).As<Function>()); | |
| 215 | 217 | Local<Value> argv[1]; // MSBUILD won't assign an array of length 0 | |
| 216 | - Local<Boolean> isPending = isPendingFn->Call(0, argv)->ToBoolean(); | ||
| 218 | + Local<Boolean> isPending = isPendingFn->Call(promise, 0, argv)->ToBoolean(); | ||
| 217 | 219 | ||
| 218 | 220 | if (isPending->Value()) { | |
| 219 | 221 | uv_async_send(&baton->req); | |
| 220 | 222 | return; | |
| 221 | 223 | } | |
| 222 | 224 | ||
| 223 | 225 | NanCallback* isFulfilledFn = new NanCallback(promise->Get(NanNew("isFulfilled")).As<Function>()); | |
| 224 | - Local<Boolean> isFulfilled = isFulfilledFn->Call(0, argv)->ToBoolean(); | ||
| 226 | + Local<Boolean> isFulfilled = isFulfilledFn->Call(promise, 0, argv)->ToBoolean(); | ||
| 225 | 227 | ||
| 226 | 228 | if (isFulfilled->Value()) { | |
| 227 | 229 | NanCallback* resultFn = new NanCallback(promise->Get(NanNew("value")).As<Function>()); | |
| 228 | - Handle<v8::Value> result = resultFn->Call(0, argv); | ||
| 230 | + Handle<v8::Value> result = resultFn->Call(promise, 0, argv); | ||
| 229 | 231 | ||
| 230 | 232 | {% each field|returnsInfo false true as _return %} | |
| 231 | 233 | if (result.IsEmpty() || result->IsNativeError()) { | |
@@ -258,6 +260,8 @@ | |||
| 258 | 260 | baton->result = {{ field.return.error }}; | |
| 259 | 261 | baton->done = false; | |
| 260 | 262 | } | |
| 263 | + | ||
| 264 | + uv_close((uv_handle_t*) &baton->req, NULL); | ||
| 261 | 265 | } | |
| 262 | 266 | {% endif %} | |
| 263 | 267 | {% endif %} | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -15,4 +15,4 @@ var args = cov.concat([ | |||
| 15 | 15 | "--expose-gc" | |
| 16 | 16 | ]); | |
| 17 | 17 | ||
| 18 | - fork(bin, args, { cwd: path.join(__dirname, "../") }).on("close", process.exit); | ||
| 18 | + fork(bin, args, { cwd: path.join(__dirname, "../") }); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments