Browse Source

Moved gnutls_bye() in thread

Paul-Louis Ageneau 5 years ago
parent
commit
6302d995f7
1 changed files with 2 additions and 3 deletions
  1. 2 3
      src/dtlstransport.cpp

+ 2 - 3
src/dtlstransport.cpp

@@ -117,9 +117,7 @@ bool DtlsTransport::stop() {
 
 
 	PLOG_DEBUG << "Stopping DTLS recv thread";
 	PLOG_DEBUG << "Stopping DTLS recv thread";
 	mIncomingQueue.stop();
 	mIncomingQueue.stop();
-	gnutls_bye(mSession, GNUTLS_SHUT_RDWR);
 	mRecvThread.join();
 	mRecvThread.join();
-	onRecv(nullptr);
 	return true;
 	return true;
 }
 }
 
 
@@ -218,6 +216,8 @@ void DtlsTransport::runRecvLoop() {
 		PLOG_ERROR << "DTLS recv: " << e.what();
 		PLOG_ERROR << "DTLS recv: " << e.what();
 	}
 	}
 
 
+	gnutls_bye(mSession, GNUTLS_SHUT_RDWR);
+
 	PLOG_INFO << "DTLS disconnected";
 	PLOG_INFO << "DTLS disconnected";
 	changeState(State::Disconnected);
 	changeState(State::Disconnected);
 	recv(nullptr);
 	recv(nullptr);
@@ -429,7 +429,6 @@ bool DtlsTransport::stop() {
 	mIncomingQueue.stop();
 	mIncomingQueue.stop();
 	mRecvThread.join();
 	mRecvThread.join();
 	SSL_shutdown(mSsl);
 	SSL_shutdown(mSsl);
-	onRecv(nullptr);
 	return true;
 	return true;
 }
 }