diff --git a/src/server.c b/src/server.c index a0f8892..db848a3 100644 --- a/src/server.c +++ b/src/server.c @@ -2125,13 +2125,10 @@ static int handle_sock(uint32_t key, switch (sock->state) { case PATTY_AX25_SOCK_PENDING_ACCEPT: if (patty_timer_expired(&sock->timer_t1)) { - if (sock->retries) { - int ret = patty_ax25_sock_send_xid(sock, PATTY_AX25_FRAME_RESPONSE); - - sock->retries--; + if (sock->retries--) { patty_timer_start(&sock->timer_t1); - return ret; + return patty_ax25_sock_send_xid(sock, PATTY_AX25_FRAME_RESPONSE); } else { (void)sock_close(server, sock); } @@ -2141,13 +2138,10 @@ static int handle_sock(uint32_t key, case PATTY_AX25_SOCK_PENDING_CONNECT: if (patty_timer_expired(&sock->timer_t1)) { - if (sock->retries) { - int ret = patty_ax25_sock_send_sabm(sock, PATTY_AX25_FRAME_POLL); - - sock->retries--; + if (sock->retries--) { patty_timer_start(&sock->timer_t1); - return ret; + return patty_ax25_sock_send_sabm(sock, PATTY_AX25_FRAME_POLL); } else { int client; @@ -2166,14 +2160,12 @@ static int handle_sock(uint32_t key, case PATTY_AX25_SOCK_ESTABLISHED: if (patty_timer_expired(&sock->timer_t1)) { - if (sock->retries) { - int ret = patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_COMMAND, 1); - - sock->retries--; + if (sock->retries--) { patty_timer_start(&sock->timer_t1); patty_timer_start(&sock->timer_t3); - return ret; + return patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_COMMAND, 1); + } else { (void)sock_shutdown(server, sock);