tls_wrap: invoke queued callbacks in DestroySSL

PR-URL: https://github.com/nodejs/io.js/pull/1702
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
This commit is contained in:
Fedor Indutny 2015-05-19 13:18:42 +02:00
parent 75930bb38c
commit 59d9734e21

View File

@ -86,12 +86,6 @@ TLSWrap::~TLSWrap() {
sni_context_.Reset();
#endif // SSL_CTRL_SET_TLSEXT_SERVERNAME_CB
// Move all writes to pending
MakePending();
// And destroy
InvokeQueued(UV_ECANCELED);
ClearError();
}
@ -770,7 +764,16 @@ void TLSWrap::EnableSessionCallbacks(
void TLSWrap::DestroySSL(const FunctionCallbackInfo<Value>& args) {
TLSWrap* wrap = Unwrap<TLSWrap>(args.Holder());
// Move all writes to pending
wrap->MakePending();
// And destroy
wrap->InvokeQueued(UV_ECANCELED);
// Destroy the SSL structure and friends
wrap->SSLWrap<TLSWrap>::DestroySSL();
delete wrap->clear_in_;
wrap->clear_in_ = nullptr;
}