Close sockets on failure to write, don't die

This commit is contained in:
XANTRONIX Development 2020-09-21 11:25:13 -05:00 committed by XANTRONIX Industrial
parent dfd0978113
commit 7172863a1a

View file

@ -2088,13 +2088,12 @@ static int handle_sock_dgram(patty_ax25_server *server,
(void)sock_close(server, sock);
} else if (len > 0) {
if (patty_ax25_sock_write(sock, sock->io_buf, len) < 0) {
goto error_sock_write;
(void)sock_close(server, sock);
}
}
return 0;
error_sock_write:
error_unknown:
return -1;
}
@ -2285,17 +2284,16 @@ static int handle_sock(uint32_t key,
(void)sock_shutdown(server, sock);
} else if (len > 0) {
if (patty_ax25_sock_write(sock, sock->io_buf, len) < 0) {
goto error_sock_write;
(void)sock_close(server, sock);
} else {
patty_timer_start(&sock->timer_t1);
patty_timer_stop(&sock->timer_t3);
}
patty_timer_start(&sock->timer_t1);
patty_timer_stop(&sock->timer_t3);
}
return 0;
error_client_by_sock:
error_sock_write:
error_sock_resend_pending:
error_unknown:
return -1;