diff files/patch-proto_base.c @ 174:72804fc47f7c origin

Update to latest snapshot of 2.0.28. Has been tagged at 2024-10-26.
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 08 Mar 2025 19:34:51 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/files/patch-proto_base.c	Sat Mar 08 19:34:51 2025 +0100
@@ -0,0 +1,12 @@
+Fix SOCK_NONBLOCK handling for FreeBSD, copied from NetBSD.
+--- proto/base.c.orig	2024-06-05 02:00:36 UTC
++++ proto/base.c
+@@ -97,7 +97,7 @@ int uwsgi_proto_base_accept(struct wsgi_request *wsgi_
+ int uwsgi_proto_base_accept(struct wsgi_request *wsgi_req, int fd) {
+ 
+ 	wsgi_req->c_len = sizeof(struct sockaddr_un);
+-#if defined(__linux__) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL)
++#if (defined(__linux__) ||defined(__FreeBSD__)) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL)
+ 	return accept4(fd, (struct sockaddr *) &wsgi_req->client_addr, (socklen_t *) & wsgi_req->c_len, SOCK_NONBLOCK);
+ #elif defined(__linux__)
+ 	int client_fd = accept(fd, (struct sockaddr *) &wsgi_req->client_addr, (socklen_t *) & wsgi_req->c_len);