Mercurial > hgrepos > FreeBSD > ports > www > uwsginl
diff files/patch-core_socket.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-core_socket.c Sat Mar 08 19:34:51 2025 +0100 @@ -0,0 +1,48 @@ +Fix SOCK_NONBLOCK handling for FreeBSD, copied from NetBSD. +--- core/socket.c.orig 2024-06-05 01:53:18 UTC ++++ core/socket.c +@@ -413,7 +413,7 @@ static int connect_to_unix(char *socket_name, int time + memcpy(uws_addr.sun_path, socket_name, UMIN(strlen(socket_name), 102)); + } + +-#if defined(__linux__) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) ++#if (defined(__linux__) || defined(__FreeBSD__)) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) + uwsgi_poll.fd = socket(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0); + #else + uwsgi_poll.fd = socket(AF_UNIX, SOCK_STREAM, 0); +@@ -453,7 +453,7 @@ static int connect_to_tcp(char *socket_name, int port, + uws_addr.sin_addr.s_addr = inet_addr(socket_name); + } + +-#if defined(__linux__) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) ++#if (defined(__linux__) || defined(__FreeBSD__)) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) + uwsgi_poll.fd = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0); + #else + uwsgi_poll.fd = socket(AF_INET, SOCK_STREAM, 0); +@@ -827,7 +827,7 @@ int timed_connect(struct pollfd *fdpoll, const struct + int cnt; + /* set non-blocking socket */ + +-#if defined(__linux__) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) ++#if (defined(__linux__) || defined(__FreeBSD__)) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) + // hmm, nothing to do, as we are already non-blocking + #else + int arg = fcntl(fdpoll->fd, F_GETFL, NULL); +@@ -861,7 +861,7 @@ int timed_connect(struct pollfd *fdpoll, const struct + } + + +-#if defined(__linux__) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) ++#if (defined(__linux__) || defined(__FreeBSD__)) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) + uwsgi_socket_b(fdpoll->fd); + #else + /* re-set blocking socket */ +@@ -1907,7 +1907,7 @@ int uwsgi_accept(int server_fd) { + struct sockaddr_un client_src; + memset(&client_src, 0, sizeof(struct sockaddr_un)); + socklen_t client_src_len = 0; +-#if defined(__linux__) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) ++#if (defined(__linux__) || defined(__FreeBSD__)) && defined(SOCK_NONBLOCK) && !defined(OBSOLETE_LINUX_KERNEL) + return accept4(server_fd, (struct sockaddr *) &client_src, &client_src_len, SOCK_NONBLOCK); + #elif defined(__linux__) + int client_fd = accept(server_fd, (struct sockaddr *) &client_src, &client_src_len);
