New function Conn_SyncServerStruct().

This commit is contained in:
Alexander Barton 2003-03-27 01:20:22 +00:00
parent d383703b78
commit 59a0fb8cd9
2 changed files with 34 additions and 2 deletions

View File

@ -16,7 +16,7 @@
#include "portab.h"
static char UNUSED id[] = "$Id: conn.c,v 1.119 2003/03/07 17:16:49 alex Exp $";
static char UNUSED id[] = "$Id: conn.c,v 1.120 2003/03/27 01:20:22 alex Exp $";
#include "imp.h"
#include <assert.h>
@ -683,6 +683,37 @@ Conn_Close( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient )
} /* Conn_Close */
GLOBAL VOID
Conn_SyncServerStruct( VOID )
{
/* Synchronize server structures (connection IDs):
* connections <-> configuration */
CLIENT *client;
CONN_ID i;
INT c;
for( i = 0; i < Pool_Size; i++ )
{
/* Established connection? */
if( My_Connections[i].sock <= NONE ) continue;
/* Server connection? */
client = Client_GetFromConn( i );
if(( ! client ) || ( Client_Type( client ) != CLIENT_SERVER )) continue;
for( c = 0; c < MAX_SERVERS; c++ )
{
/* Configured server? */
if( ! Conf_Server[c].host[0] ) continue;
/* Duplicate? */
if( strcmp( Conf_Server[c].name, Client_ID( client )) == 0 ) Conf_Server[c].conn_id = i;
}
}
} /* SyncServerStruct */
LOCAL BOOLEAN
Try_Write( CONN_ID Idx )
{

View File

@ -8,7 +8,7 @@
* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
*
* $Id: conn.h,v 1.30 2003/02/21 19:18:48 alex Exp $
* $Id: conn.h,v 1.31 2003/03/27 01:20:22 alex Exp $
*
* Connection management (header)
*/
@ -96,6 +96,7 @@ GLOBAL BOOLEAN Conn_WriteStr PARAMS(( CONN_ID Idx, CHAR *Format, ... ));
GLOBAL VOID Conn_Close PARAMS(( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient ));
GLOBAL VOID Conn_SyncServerStruct PARAMS(( VOID ));
GLOBAL INT Conn_MaxFD;