summaryrefslogtreecommitdiffstats
path: root/main/uwsgi/0004-core-socket-move-SO_REUSEADDR-setting-to-create_serv.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-03-25 07:44:43 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-03-25 07:45:18 +0000
commitcc5f305aaba4cefe2227aef2550d565f2f5a8147 (patch)
tree0be7c2bfb3c9f345db465f04b54ccb4b7bbb4de6 /main/uwsgi/0004-core-socket-move-SO_REUSEADDR-setting-to-create_serv.patch
parent855ad8d21bb69b8db500260c9e4033f3e60f1414 (diff)
downloadaports-cc5f305aaba4cefe2227aef2550d565f2f5a8147.tar.bz2
aports-cc5f305aaba4cefe2227aef2550d565f2f5a8147.tar.xz
main/uwsgi: moved from testing
Diffstat (limited to 'main/uwsgi/0004-core-socket-move-SO_REUSEADDR-setting-to-create_serv.patch')
-rw-r--r--main/uwsgi/0004-core-socket-move-SO_REUSEADDR-setting-to-create_serv.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/main/uwsgi/0004-core-socket-move-SO_REUSEADDR-setting-to-create_serv.patch b/main/uwsgi/0004-core-socket-move-SO_REUSEADDR-setting-to-create_serv.patch
new file mode 100644
index 000000000..904828b43
--- /dev/null
+++ b/main/uwsgi/0004-core-socket-move-SO_REUSEADDR-setting-to-create_serv.patch
@@ -0,0 +1,73 @@
+From 4f4f9b93aae55e40dc7f92e19a7e5080a06ce798 Mon Sep 17 00:00:00 2001
+From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
+Date: Thu, 2 Jan 2014 00:05:01 +0200
+Subject: [PATCH 4/5] core/socket: move SO_REUSEADDR setting to
+ create_server_socket
+
+---
+ core/socket.c | 21 +++++++++------------
+ 1 file changed, 9 insertions(+), 12 deletions(-)
+
+diff --git a/core/socket.c b/core/socket.c
+index 3eed477..6d5d7d7 100644
+--- a/core/socket.c
++++ b/core/socket.c
+@@ -84,6 +84,15 @@ static int create_server_socket(int domain, int type) {
+ return -1;
+ }
+
++ if (domain != AF_UNIX) {
++ int reuse = 1;
++ if (setsockopt(serverfd, SOL_SOCKET, SO_REUSEADDR, (const void *) &reuse, sizeof(int)) < 0) {
++ uwsgi_error("SO_REUSEADDR setsockopt()");
++ uwsgi_nuclear_blast();
++ return -1;
++ }
++ }
++
+ if (type == SOCK_STREAM) {
+ if (uwsgi.so_sndbuf) {
+ socklen_t sndbuf = (socklen_t) uwsgi.so_sndbuf;
+@@ -248,7 +257,6 @@ int bind_to_udp(char *socket_name, int multicast, int broadcast) {
+ struct sockaddr_in uws_addr;
+ char *udp_port;
+ int bcast = 1;
+- int reuse = 1;
+
+ struct ip_mreq mc;
+
+@@ -296,10 +304,6 @@ int bind_to_udp(char *socket_name, int multicast, int broadcast) {
+ serverfd = create_server_socket(AF_INET, SOCK_DGRAM);
+ if (serverfd < 0) return -1;
+
+- if (setsockopt(serverfd, SOL_SOCKET, SO_REUSEADDR, (const void *) &reuse, sizeof(int)) < 0) {
+- uwsgi_error("setsockopt()");
+- }
+-
+ if (multicast) {
+ // if multicast is enabled remember to bind to INADDR_ANY
+ uws_addr.sin_addr.s_addr = INADDR_ANY;
+@@ -651,7 +655,6 @@ int bind_to_tcp(char *socket_name, int listen_queue, char *tcp_port) {
+ #else
+ struct sockaddr_in uws_addr;
+ #endif
+- int reuse = 1;
+ int family = AF_INET;
+ socklen_t addr_len = sizeof(struct sockaddr_in);
+
+@@ -672,12 +675,6 @@ int bind_to_tcp(char *socket_name, int listen_queue, char *tcp_port) {
+ serverfd = create_server_socket(family, SOCK_STREAM);
+ if (serverfd < 0) return -1;
+
+- if (setsockopt(serverfd, SOL_SOCKET, SO_REUSEADDR, (const void *) &reuse, sizeof(int)) < 0) {
+- uwsgi_error("SO_REUSEADDR setsockopt()");
+- uwsgi_nuclear_blast();
+- return -1;
+- }
+-
+ #ifdef __linux__
+ #ifndef IP_FREEBIND
+ #define IP_FREEBIND 15
+--
+1.8.4.2
+