diff --git a/src/server.c b/src/server.c index 5a8bc7f..19a6d52 100644 --- a/src/server.c +++ b/src/server.c @@ -2192,6 +2192,19 @@ static int handle_sock(uint32_t key, return patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_COMMAND, 1); } + break; + + case PATTY_AX25_SOCK_PENDING_DISCONNECT: + if (patty_timer_expired(&sock->timer_t1)) { + if (sock->retries--) { + patty_timer_start(&sock->timer_t1); + + return patty_ax25_sock_send_disc(sock, PATTY_AX25_FRAME_POLL); + } else { + return sock_close(server, sock); + } + } + default: break; }