Don't connect to a server if a connection to another server within the same group

is in progress.
This commit is contained in:
Florian Westphal 2007-06-28 15:13:38 +00:00
parent 2275add327
commit cd65e0a56e
2 changed files with 6 additions and 4 deletions

View File

@ -16,6 +16,8 @@ ngIRCd HEAD
- Adjust path names in manual pages according to "./configure" settings. - Adjust path names in manual pages according to "./configure" settings.
- Add new server config option to disable automatic connect. (Similar to -p - Add new server config option to disable automatic connect. (Similar to -p
option to ngircd, but only for the specified server) (Tassilo Schweyer) option to ngircd, but only for the specified server) (Tassilo Schweyer)
- Don't connect to a server if a connection to another server within the same group
is in progress.
ngIRCd 0.10.2 (2007-06-08) ngIRCd 0.10.2 (2007-06-08)
@ -696,4 +698,4 @@ ngIRCd 0.0.1, 31.12.2001
-- --
$Id: ChangeLog,v 1.318 2007/06/28 05:15:12 fw Exp $ $Id: ChangeLog,v 1.319 2007/06/28 15:13:38 fw Exp $

View File

@ -17,7 +17,7 @@
#include "portab.h" #include "portab.h"
#include "io.h" #include "io.h"
static char UNUSED id[] = "$Id: conn.c,v 1.209 2007/05/17 23:34:24 alex Exp $"; static char UNUSED id[] = "$Id: conn.c,v 1.210 2007/06/28 15:13:39 fw Exp $";
#include "imp.h" #include "imp.h"
#include <assert.h> #include <assert.h>
@ -1333,7 +1333,7 @@ Check_Servers( void )
if( Conf_Server[i].group > NONE ) { if( Conf_Server[i].group > NONE ) {
for (n = 0; n < MAX_SERVERS; n++) { for (n = 0; n < MAX_SERVERS; n++) {
if (n == i) continue; if (n == i) continue;
if ((Conf_Server[n].conn_id > NONE) && if ((Conf_Server[n].conn_id != NONE) &&
(Conf_Server[n].group == Conf_Server[i].group)) (Conf_Server[n].group == Conf_Server[i].group))
break; break;
} }
@ -1346,7 +1346,7 @@ Check_Servers( void )
continue; continue;
/* Okay, try to connect now */ /* Okay, try to connect now */
Conf_Server[i].lasttry = time_now; Conf_Server[i].conn_id = SERVER_WAIT;
assert(Resolve_Getfd(&Conf_Server[i].res_stat) < 0); assert(Resolve_Getfd(&Conf_Server[i].res_stat) < 0);
Resolve_Name(&Conf_Server[i].res_stat, Conf_Server[i].host, cb_Connect_to_Server); Resolve_Name(&Conf_Server[i].res_stat, Conf_Server[i].host, cb_Connect_to_Server);
} }