diff --git a/src/server.c b/src/server.c index 32bc4eb..d2d2a99 100644 --- a/src/server.c +++ b/src/server.c @@ -2204,22 +2204,17 @@ static int handle_sock(uint32_t key, return 0; } + if (sock->flow == PATTY_AX25_SOCK_WAIT) { + sock->flow = PATTY_AX25_SOCK_READY; + } + /* * AX.25 v2.2, Section 6.4.1 "Sending I Frames" */ - if (sock->flow == PATTY_AX25_SOCK_WAIT) { - sock->flow = PATTY_AX25_SOCK_READY; - } else if (patty_ax25_sock_flow_full(sock)) { - int ret; - + if (patty_ax25_sock_flow_left(sock) == 1) { sock_flow_stop(server, sock); - ret = patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_COMMAND, 1); - patty_timer_stop(&sock->timer_t3); - patty_timer_start(&sock->timer_t1); - - return ret; } /*