--- deliantra/server/socket/lowlevel.C 2012/10/29 23:55:57 1.85 +++ deliantra/server/socket/lowlevel.C 2012/10/30 17:07:50 1.86 @@ -312,6 +312,18 @@ return true; } +void +client::inbuf_handle () +{ + if (!handle_packet ()) + return; + + while (handle_packet ()) + ; + + flush (); +} + // callback called when socket is either readable or writable void client::socket_cb (iow &w, int revents) @@ -365,14 +377,7 @@ else { inbuf_len += amount; - - if (handle_packet ()) - { - while (handle_packet ()) - ; - - flush (); - } + inbuf_handle (); } } }