degesch: don't ignore data right before an EOF
This commit is contained in:
parent
8a8ff11887
commit
ce83f8244c
17
degesch.c
17
degesch.c
|
@ -3966,18 +3966,15 @@ static enum transport_io_result
|
||||||
irc_try_read (struct server *s)
|
irc_try_read (struct server *s)
|
||||||
{
|
{
|
||||||
enum transport_io_result result = s->transport->try_read (s);
|
enum transport_io_result result = s->transport->try_read (s);
|
||||||
if (result == TRANSPORT_IO_OK)
|
if (s->read_buffer.len >= (1 << 20))
|
||||||
{
|
{
|
||||||
if (s->read_buffer.len >= (1 << 20))
|
// XXX: this is stupid; if anything, count it in dependence of time
|
||||||
{
|
log_server_error (s, s->buffer,
|
||||||
// XXX: this is stupid; if anything, count it in dependence of time
|
"The IRC server seems to spew out data frantically");
|
||||||
log_server_error (s, s->buffer,
|
return TRANSPORT_IO_ERROR;
|
||||||
"The IRC server seems to spew out data frantically");
|
|
||||||
return TRANSPORT_IO_ERROR;
|
|
||||||
}
|
|
||||||
if (s->read_buffer.len)
|
|
||||||
irc_process_buffer (&s->read_buffer, irc_process_message, s);
|
|
||||||
}
|
}
|
||||||
|
if (s->read_buffer.len)
|
||||||
|
irc_process_buffer (&s->read_buffer, irc_process_message, s);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue