diff --git a/examples/src/bussiness.c b/examples/src/bussiness.c index 46c99fe2699aff1a34ffdb1429d724480598eccd..9c5f8c276826318824bf94abe5f40e1f44f8b9dd 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 bb261d269874c6e50a8746ab6f509f8e5218e5a0..1a6f9b21f5b9b81a5c517200517c07ffacd87082 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);