Ensure close_server() clears the who/ison/userhost queues for the right server
close_server() should call clear_server_queues() on the server that's being closed, not from_server. This also lets us remove a few other calls to clear_server_queues() that are right next to calls to close_server().
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
[Changes 1.2.2]
|
[Changes 1.2.2]
|
||||||
|
|
||||||
|
* Ensure close_server() clears the internal command queues for the right
|
||||||
|
server. (caf)
|
||||||
|
|
||||||
* Remove obsolete AIM plugin. (caf)
|
* Remove obsolete AIM plugin. (caf)
|
||||||
|
|
||||||
* Tighten up the handling of channel WALLs. (caf)
|
* Tighten up the handling of channel WALLs. (caf)
|
||||||
|
|||||||
@@ -1137,7 +1137,6 @@ BUILT_IN_COMMAND(reconnect_cmd)
|
|||||||
/* close server will take care of the .reconnect variable */
|
/* close server will take care of the .reconnect variable */
|
||||||
set_server_reconnecting(from_server, 1);
|
set_server_reconnecting(from_server, 1);
|
||||||
close_server(from_server,(args && *args) ? args : "Reconnecting");
|
close_server(from_server,(args && *args) ? args : "Reconnecting");
|
||||||
clean_server_queues(from_server);
|
|
||||||
window_check_servers(from_server);
|
window_check_servers(from_server);
|
||||||
servercmd(NULL, scommnd, empty_string, NULL);
|
servercmd(NULL, scommnd, empty_string, NULL);
|
||||||
|
|
||||||
|
|||||||
@@ -1312,7 +1312,6 @@ static void p_kill(char *from, char **ArgList)
|
|||||||
set_server_reconnecting(from_server, 1);
|
set_server_reconnecting(from_server, 1);
|
||||||
|
|
||||||
close_server(from_server,empty_string);
|
close_server(from_server,empty_string);
|
||||||
clean_server_queues(from_server);
|
|
||||||
window_check_servers(from_server);
|
window_check_servers(from_server);
|
||||||
set_input_prompt(current_window, get_string_var(INPUT_PROMPT_VAR), 0);
|
set_input_prompt(current_window, get_string_var(INPUT_PROMPT_VAR), 0);
|
||||||
if (serverkill)
|
if (serverkill)
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ void BX_close_server (int cs_index, char *message)
|
|||||||
|
|
||||||
if (serv_close_func)
|
if (serv_close_func)
|
||||||
(*serv_close_func)(cs_index, server_list[cs_index].local_addr, server_list[cs_index].port);
|
(*serv_close_func)(cs_index, server_list[cs_index].local_addr, server_list[cs_index].port);
|
||||||
clean_server_queues(from_server);
|
clean_server_queues(cs_index);
|
||||||
|
|
||||||
if (waiting_out > waiting_in)
|
if (waiting_out > waiting_in)
|
||||||
waiting_out = waiting_in = 0;
|
waiting_out = waiting_in = 0;
|
||||||
@@ -329,11 +329,11 @@ int advance_server(int i)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
server_list[i].retries++;
|
server_list[i].retries++;
|
||||||
if(server_list[i].retries >= get_int_var(MAX_SERVER_RECONNECT_VAR))
|
if (server_list[i].retries >= get_int_var(MAX_SERVER_RECONNECT_VAR))
|
||||||
{
|
{
|
||||||
server = next_server(i);
|
server = next_server(i);
|
||||||
|
|
||||||
if(server != i)
|
if (server != i)
|
||||||
{
|
{
|
||||||
/* We have a new server to try, so lets
|
/* We have a new server to try, so lets
|
||||||
* move the variables over from the last one
|
* move the variables over from the last one
|
||||||
@@ -361,16 +361,15 @@ int advance_server(int i)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!get_int_var(AUTO_RECONNECT_VAR) && (server_list[server].req_server != server || server_list[server].retries > 1))
|
if (!get_int_var(AUTO_RECONNECT_VAR) && (server_list[server].req_server != server || server_list[server].retries > 1))
|
||||||
{
|
{
|
||||||
close_server(server, empty_string);
|
close_server(server, empty_string);
|
||||||
clean_server_queues(server);
|
|
||||||
from_server = -1;
|
from_server = -1;
|
||||||
if(do_hook(DISCONNECT_LIST,"No Connection"))
|
if (do_hook(DISCONNECT_LIST,"No Connection"))
|
||||||
put_it("%s", convert_output_format(fget_string_var(FORMAT_DISCONNECT_FSET), "%s %s", update_clock(GET_TIME), "No connection"));
|
put_it("%s", convert_output_format(fget_string_var(FORMAT_DISCONNECT_FSET), "%s %s", update_clock(GET_TIME), "No connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
else if(server == server_list[i].req_server && server_list[server].retries > 1)
|
else if (server == server_list[i].req_server && server_list[server].retries > 1)
|
||||||
bitchsay("Servers exhausted. Restarting.");
|
bitchsay("Servers exhausted. Restarting.");
|
||||||
|
|
||||||
return server;
|
return server;
|
||||||
|
|||||||
Reference in New Issue
Block a user