summaryrefslogtreecommitdiff
path: root/src/server_signals.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server_signals.c')
-rw-r--r--src/server_signals.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/server_signals.c b/src/server_signals.c
index ae5388d..55ceb4a 100644
--- a/src/server_signals.c
+++ b/src/server_signals.c
@@ -26,14 +26,16 @@
#include "http_proxy_functions.h"
#include "stats.h"
#include "logging.h"
+#include "server_configuration_struct.h"
-extern ConfigurationT config;
+extern ServerConfiguration* config;
void
server_sig_int(int signo)
{
int i, j;
unsigned char buff[5];
+ ServerRealm** scRealmsTable;
#ifdef HAVE_LIBPTHREAD
if (!is_this_a_mainthread()) {
@@ -41,24 +43,28 @@ server_sig_int(int signo)
}
#endif
- for (j = 0; j < config.size; ++j) {
+ for (j = 0; j < ServerConfiguration_get_realmsNumber(config); ++j) {
+ scRealmsTable = ServerConfiguration_get_realmsTable(config);
buff[0] = AF_S_CLOSING; /* closing */
- for (i = 0; i < config.realmtable[j].clinum; ++i) {
- if (ConnectClient_get_state(config.realmtable[j].clitable[i]) ==
+ for (i = 0; i < ServerRealm_get_clientsLimit(scRealmsTable[j]); ++i) {
+ if (ConnectClient_get_state(ServerRealm_get_clientsTable(scRealmsTable[j])[i]) ==
CONNECTCLIENT_STATE_ACCEPTED) {
- SslFd_send_message(config.realmtable[j].type,
+ SslFd_send_message(ServerRealm_get_realmType(scRealmsTable[j]),
ConnectClient_get_sslFd(
- config.realmtable[j].clitable[i]),
+ ServerRealm_get_clientsTable(scRealmsTable[j])[i]),
buff, 5);
+ close(SslFd_get_fd(ConnectClient_get_sslFd(
+ ServerRealm_get_clientsTable(scRealmsTable[j])[i])));
}
}
- for (i = 0; i < config.realmtable[j].raclinum; ++i) {
- if (ConnectClient_get_state(config.realmtable[j].raclitable[i]) ==
+ for (i = 0; i < ServerRealm_get_raClientsLimit(scRealmsTable[j]); ++i) {
+ if (ConnectClient_get_state(ServerRealm_get_raClientsTable(scRealmsTable[j])[i]) ==
CONNECTCLIENT_STATE_ACCEPTED) {
- SslFd_send_message(config.realmtable[j].type | TYPE_SSL,
+ SslFd_send_message(ServerRealm_get_realmType(scRealmsTable[j]) | TYPE_SSL,
ConnectClient_get_sslFd(
- config.realmtable[j].raclitable[i]),
+ ServerRealm_get_raClientsTable(scRealmsTable[j])[i]),
buff, 5);
+ close(SslFd_get_fd(ConnectClient_get_sslFd(ServerRealm_get_raClientsTable(scRealmsTable[j])[i])));
}
}