summaryrefslogtreecommitdiff
path: root/netcore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'netcore.cpp')
-rw-r--r--netcore.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/netcore.cpp b/netcore.cpp
index 684d319..27769a6 100644
--- a/netcore.cpp
+++ b/netcore.cpp
@@ -131,8 +131,10 @@ int NetCore::execute() {
for (int i = 0; i < serverCount; i++) {
if (servers[i]->state == Server::CS_WAITING_DNS)
servers[i]->tryConnectPhase();
- else if (servers[i]->state == Server::CS_TLS_HANDSHAKE)
- servers[i]->tryTLSHandshake();
+ else if (servers[i]->state == Server::CS_TLS_HANDSHAKE) {
+ if (servers[i]->tryTLSHandshake())
+ servers[i]->connectedEvent();
+ }
if (servers[i]->sock != -1) {
if (servers[i]->sock > maxFD)
@@ -238,6 +240,13 @@ int NetCore::execute() {
shutdown(listener, SHUT_RDWR);
close(listener);
+ for (int i = 0; i < serverCount; i++)
+ delete servers[i];
+ for (int i = 0; i < clientCount; i++)
+ delete clients[i];
+
+ serverCount = clientCount = 0;
+
return 0;
}