v1.7.4 Ignore signals in send and sendto
This commit is contained in:
8
sock.h
8
sock.h
@@ -4,7 +4,7 @@
|
||||
# @@@@@@ #
|
||||
# @ @ #
|
||||
# @====@ #
|
||||
# @ @ sock.h - v1.7.3 #
|
||||
# @ @ sock.h - v1.7.4 #
|
||||
# @ @ MIT License #
|
||||
# @@% .@ @ #
|
||||
# @@ @ @ https://github.com/seajee/sock.h #
|
||||
@@ -578,7 +578,7 @@ ssize_t sock_send(Sock *sock, const void *buf, size_t size)
|
||||
}
|
||||
|
||||
while (true) {
|
||||
ssize_t n = send(sock->fd, buf, size, 0);
|
||||
ssize_t n = send(sock->fd, buf, size, MSG_NOSIGNAL);
|
||||
if (n < 0) {
|
||||
if (errno == EINTR) {
|
||||
continue;
|
||||
@@ -677,7 +677,8 @@ ssize_t sock_sendto(Sock *sock, const void *buf, size_t size, SockAddr addr)
|
||||
}
|
||||
|
||||
while (true) {
|
||||
ssize_t n = sendto(sock->fd, buf, size, 0, &addr.sockaddr, addr.len);
|
||||
ssize_t n = sendto(sock->fd, buf, size, MSG_NOSIGNAL, &addr.sockaddr,
|
||||
addr.len);
|
||||
if (n < 0) {
|
||||
if (errno == EINTR) {
|
||||
continue;
|
||||
@@ -820,6 +821,7 @@ void sock__convert_addr(SockAddr *addr)
|
||||
/*
|
||||
Revision history:
|
||||
|
||||
1.7.4 (2025-12-13) Ignore signals in send and sendto
|
||||
1.7.3 (2025-09-20) Changed sock_send_all() signature; drain buffers on
|
||||
sock_close() to prevent data loss
|
||||
1.7.2 (2025-09-17) New functions sock_recv_all() and sock_send_all();
|
||||
|
||||
Reference in New Issue
Block a user