aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/node
diff options
context:
space:
mode:
authorGravatar murgatroid99 <mlumish@google.com>2017-04-11 12:13:08 -0700
committerGravatar murgatroid99 <mlumish@google.com>2017-04-11 12:13:08 -0700
commit803392e9f14baeedfe37308cf0ff47978bf3f5e6 (patch)
tree7c0b44ff6d89cdde84dc970c2be5dcb878806963 /src/node
parentc22d62f54e342b40d5352ed565c1629943a667db (diff)
Node server: add NULL check to tryShutdown
Diffstat (limited to 'src/node')
-rw-r--r--src/node/ext/server.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/node/ext/server.cc b/src/node/ext/server.cc
index 22c89c5862..2d017dd048 100644
--- a/src/node/ext/server.cc
+++ b/src/node/ext/server.cc
@@ -277,6 +277,12 @@ NAN_METHOD(Server::TryShutdown) {
return Nan::ThrowTypeError("tryShutdown can only be called on a Server");
}
Server *server = ObjectWrap::Unwrap<Server>(info.This());
+ if (server->wrapped_server == NULL) {
+ // Server is already shut down. Call callback immediately.
+ Nan::Callback callback(info[0].As<Function>());
+ callback.Call(0, {});
+ return;
+ }
TryShutdownOp *op = new TryShutdownOp(server, info.This());
unique_ptr<OpVec> ops(new OpVec());
ops->push_back(unique_ptr<Op>(op));