Gracefully close raw sockets on EOF
In src/server.c, handle_sock_raw(), gracefully close sockets upon read()ing EOF
This commit is contained in:
parent
a1ec1e00d0
commit
0b8ce4f775
1 changed files with 11 additions and 1 deletions
12
src/server.c
12
src/server.c
|
@ -1847,7 +1847,17 @@ static int handle_sock_raw(patty_ax25_server *server,
|
||||||
if ((len = patty_ax25_sock_recv(sock,
|
if ((len = patty_ax25_sock_recv(sock,
|
||||||
sock->iface->tx_buf,
|
sock->iface->tx_buf,
|
||||||
sock->iface->mtu)) < 0) {
|
sock->iface->mtu)) < 0) {
|
||||||
goto error_io;
|
if (errno == EIO) {
|
||||||
|
(void)sock_close(server, sock);
|
||||||
|
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
goto error_io;
|
||||||
|
}
|
||||||
|
} else if (len == 0) {
|
||||||
|
(void)sock_close(server, sock);
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (patty_ax25_sock_send(sock, sock->iface->tx_buf, len) < 0) {
|
if (patty_ax25_sock_send(sock, sock->iface->tx_buf, len) < 0) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue