diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/conn.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index e8ef68f3..7097f1ac 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -1291,14 +1291,12 @@ Handle_Write( CONN_ID Idx ) if (errno == EAGAIN || errno == EINTR) return true; - /* Log write errors but do not close the connection yet. - * Calling Conn_Close() now could result in too many recursive calls. - */ - if (!Conn_OPTION_ISSET(&My_Connections[Idx], CONN_ISCLOSING)) + if (!Conn_OPTION_ISSET(&My_Connections[Idx], CONN_ISCLOSING)) { Log(LOG_ERR, "Write error on connection %d (socket %d): %s!", Idx, My_Connections[Idx].sock, strerror(errno)); - else + Conn_Close(Idx, "Write error", NULL, false); + } else LogDebug("Recursive write error on connection %d (socket %d): %s!", Idx, My_Connections[Idx].sock, strerror(errno)); |