commit - 3f1e03edd93bcbb1643291a4e0e462d1dc0c7019
commit + d2f7d3087dc6c1522aef8b24e1faf1d9ffe2c139
blob - 3938babbba1d5fa8558189d565afc5948f2a140f
blob + 30b86b1adf8700f7b2b10006b4d67d62a6b1a1c8
--- src/ngircd/conn.c
+++ src/ngircd/conn.c
#include "portab.h"
#include "io.h"
-static char UNUSED id[] = "$Id: conn.c,v 1.198 2006/07/23 23:05:20 alex Exp $";
+static char UNUSED id[] = "$Id: conn.c,v 1.199 2006/12/17 22:55:07 fw Exp $";
#include "imp.h"
#include <assert.h>
c = Client_NewLocal( new_sock, inet_ntoa( new_addr.sin_addr ), CLIENT_UNKNOWN, false );
if( ! c ) {
Log( LOG_ALERT, "Can't accept connection: can't create client structure!" );
- Simple_Message( new_sock, "ERROR :Internal error" );
- close( new_sock );
- return -1;
+ goto out;
}
+ /* register callback */
+ if (!io_event_create( new_sock, IO_WANTREAD, cb_clientserver))
+ goto out;
+
Init_Conn_Struct( new_sock );
My_Connections[new_sock].sock = new_sock;
My_Connections[new_sock].addr = new_addr;
My_Connections[new_sock].client = c;
- /* register callback */
- if (!io_event_create( new_sock, IO_WANTREAD, cb_clientserver)) {
- Simple_Message( new_sock, "ERROR :Internal error" );
- Conn_Close( new_sock, "io_event_create() failed", NULL, false );
- return -1;
- }
-
Log( LOG_INFO, "Accepted connection %d from %s:%d on socket %d.", new_sock,
inet_ntoa( new_addr.sin_addr ), ntohs( new_addr.sin_port), Sock );
/* Penalty-Zeit setzen */
Conn_SetPenalty( new_sock, 4 );
return new_sock;
-} /* New_Connection */
+ out:
+ Simple_Message( new_sock, "ERROR :Internal error" );
+ close( new_sock );
+ return -1;
+}/* New_Connection */
static CONN_ID