From 9741f6acc68abf3dd5dfd142db850f1f8f67e887 Mon Sep 17 00:00:00 2001 From: compile_success <980965867@qq.com> Date: Sat, 2 Nov 2024 10:47:34 +0000 Subject: [PATCH] fix udp bufs is not enough --- examples/src/bussiness.c | 4 ++-- src/lstack/core/lstack_lwip.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/src/bussiness.c b/examples/src/bussiness.c index 46c99fe..9c5f8c2 100644 --- a/examples/src/bussiness.c +++ b/examples/src/bussiness.c @@ -203,7 +203,7 @@ static int32_t server_ans_write(int32_t socket_fd, struct ServerBaseCfgInfo *ser if (nwrite == 0) { return PROGRAM_ABORT; } else if (nwrite < 0) { - if (errno != EINTR && errno != EWOULDBLOCK && errno != EAGAIN) { + if (errno != EINTR && errno != EWOULDBLOCK && errno != EAGAIN && errno != ENOBUFS) { PRINT_ERROR("nwrite =%d, errno=%d", nwrite, errno); return PROGRAM_FAULT; } @@ -328,7 +328,7 @@ int32_t client_ask(struct ClientHandler *client_handler, struct ClientUnit *clie if (nwrite == 0) { return PROGRAM_ABORT; } else if (nwrite < 0) { - if (errno != EINTR && errno != EWOULDBLOCK && errno != EAGAIN) { + if (errno != EINTR && errno != EWOULDBLOCK && errno != EAGAIN && errno != ENOBUFS) { return PROGRAM_FAULT; } } else { diff --git a/src/lstack/core/lstack_lwip.c b/src/lstack/core/lstack_lwip.c index bb261d2..1a6f9b2 100644 --- a/src/lstack/core/lstack_lwip.c +++ b/src/lstack/core/lstack_lwip.c @@ -525,7 +525,7 @@ static ssize_t do_lwip_udp_fill_sendring(struct lwip_sock *sock, const void *buf if (write_avail < write_num) { LSTACK_LOG(WARNING, LSTACK, "sock send_ring is already exhausted.\n"); sem_timedwait_nsecs(&sock->snd_ring_sem); - GAZELLE_RETURN(ENOMEM); + GAZELLE_RETURN(ENOBUFS); } send_len = app_buff_write(sock, (char *)buf, len, write_num, addr, addrlen); -- Gitee