mirror of
https://github.com/osmarks/ngircd.git
synced 2024-12-12 01:40:27 +00:00
Correctly retry outgoing conenctions when forking a resolver failed
When ngIRCd failed to spawn a new resolver subprocess, the connection structure was still marked as "SERVER_WAIT", and no new attempt to connect to this server was made. Thanks to Robert Obermeier for reporting this bug! Closes #243.
This commit is contained in:
parent
798de94d65
commit
b4f7aae67e
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* ngIRCd -- The Next Generation IRC Daemon
|
||||
* Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
|
||||
* Copyright (c)2001-2018 Alexander Barton (alex@barton.de) and Contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -1918,8 +1918,11 @@ Check_Servers(void)
|
||||
Conf_Server[i].lasttry = time_now;
|
||||
Conf_Server[i].conn_id = SERVER_WAIT;
|
||||
assert(Proc_GetPipeFd(&Conf_Server[i].res_stat) < 0);
|
||||
Resolve_Name(&Conf_Server[i].res_stat, Conf_Server[i].host,
|
||||
cb_Connect_to_Server);
|
||||
|
||||
/* Start resolver subprocess ... */
|
||||
if (!Resolve_Name(&Conf_Server[i].res_stat, Conf_Server[i].host,
|
||||
cb_Connect_to_Server))
|
||||
Conf_Server[i].conn_id = NONE;
|
||||
}
|
||||
} /* Check_Servers */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user