diff options
Diffstat (limited to 'libsylph/session.c')
-rw-r--r-- | libsylph/session.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libsylph/session.c b/libsylph/session.c index 5ebb564d..2252b65b 100644 --- a/libsylph/session.c +++ b/libsylph/session.c @@ -555,8 +555,6 @@ static gboolean session_read_msg_cb(SockInfo *source, GIOCondition condition, g_return_val_if_fail(condition == G_IO_IN, FALSE); - session_set_timeout(session, session->timeout_interval); - if (session->read_buf_len == 0) { gint read_len; @@ -583,6 +581,8 @@ static gboolean session_read_msg_cb(SockInfo *source, GIOCondition condition, session->read_buf_len = read_len; } + session_set_timeout(session, session->timeout_interval); + if ((newline = memchr(session->read_buf_p, '\n', session->read_buf_len)) != NULL) line_len = newline - session->read_buf_p + 1; @@ -643,8 +643,6 @@ static gboolean session_read_data_cb(SockInfo *source, GIOCondition condition, g_return_val_if_fail(condition == G_IO_IN, FALSE); - session_set_timeout(session, session->timeout_interval); - if (session->read_buf_len == 0) { gint read_len; @@ -671,6 +669,8 @@ static gboolean session_read_data_cb(SockInfo *source, GIOCondition condition, session->read_buf_len = read_len; } + session_set_timeout(session, session->timeout_interval); + data_buf = session->read_data_buf; terminator_len = strlen(session->read_data_terminator); @@ -758,8 +758,6 @@ static gboolean session_read_data_as_file_cb(SockInfo *source, g_return_val_if_fail(condition == G_IO_IN, FALSE); - session_set_timeout(session, session->timeout_interval); - if (session->read_buf_len == 0) { read_len = sock_read(session->sock, session->read_buf_p, READ_BUF_LEFT()); @@ -784,6 +782,8 @@ static gboolean session_read_data_as_file_cb(SockInfo *source, session->read_buf_len = read_len; } + session_set_timeout(session, session->timeout_interval); + terminator_len = strlen(session->read_data_terminator); if (session->read_buf_len == 0) |