mirror of
https://github.com/weechat/weechat.git
synced 2026-07-03 08:13:14 +02:00
Close relay server sockets on /upgrade
This commit is contained in:
@@ -142,13 +142,16 @@ relay_server_close_socket (struct t_relay_server *server)
|
||||
{
|
||||
close (server->sock);
|
||||
server->sock = -1;
|
||||
|
||||
weechat_printf (NULL,
|
||||
_("%s: socket closed for %s.%s (port %d)"),
|
||||
RELAY_PLUGIN_NAME,
|
||||
relay_protocol_string[server->protocol],
|
||||
server->protocol_string,
|
||||
server->port);
|
||||
|
||||
if (!relay_signal_upgrade_received)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s: socket closed for %s.%s (port %d)"),
|
||||
RELAY_PLUGIN_NAME,
|
||||
relay_protocol_string[server->protocol],
|
||||
server->protocol_string,
|
||||
server->port);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -79,6 +79,8 @@ int
|
||||
relay_signal_upgrade_cb (void *data, const char *signal, const char *type_data,
|
||||
void *signal_data)
|
||||
{
|
||||
struct t_relay_server *ptr_server;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) signal;
|
||||
@@ -87,6 +89,12 @@ relay_signal_upgrade_cb (void *data, const char *signal, const char *type_data,
|
||||
|
||||
relay_signal_upgrade_received = 1;
|
||||
|
||||
for (ptr_server = relay_servers; ptr_server;
|
||||
ptr_server = ptr_server->next_server)
|
||||
{
|
||||
relay_server_close_socket (ptr_server);
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
extern struct t_weechat_plugin *weechat_relay_plugin;
|
||||
|
||||
extern int relay_signal_upgrade_received;
|
||||
|
||||
/* relay protocol */
|
||||
|
||||
enum t_relay_protocol
|
||||
|
||||
Reference in New Issue
Block a user