diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2014-10-09 16:06:12 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-10-09 16:06:12 +0000 |
commit | c2fa69955ac724d03c7c50f155e1a2dabc125c3c (patch) | |
tree | 0f13926716058c7d6243a393db5b225b7379d25e /main/openvswitch/0001-ovs-thread-Set-stacksize-to-1M.patch | |
parent | 0012ba7c5165d1d8bb45beaa0df24176a8c250c5 (diff) | |
download | aports-c2fa69955ac724d03c7c50f155e1a2dabc125c3c.zip |
main/openvswitch: move from testing
Diffstat (limited to 'main/openvswitch/0001-ovs-thread-Set-stacksize-to-1M.patch')
-rw-r--r-- | main/openvswitch/0001-ovs-thread-Set-stacksize-to-1M.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/main/openvswitch/0001-ovs-thread-Set-stacksize-to-1M.patch b/main/openvswitch/0001-ovs-thread-Set-stacksize-to-1M.patch new file mode 100644 index 00000000000..2a7ae57b301 --- /dev/null +++ b/main/openvswitch/0001-ovs-thread-Set-stacksize-to-1M.patch @@ -0,0 +1,60 @@ +From 92ae6e162812876c082fd9d05a0eeac062f832ae Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Mon, 25 Aug 2014 08:50:26 +0000 +Subject: [PATCH] ovs-thread: Set stacksize to 1M + +With musl libc the default stacksize is 80k which is too small and +makes it segfault. + +We increase it to 1MB. +http://permalink.gmane.org/gmane.linux.network.openvswitch.general/5831 + +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +--- + lib/ovs-thread.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff -ru openvswitch-2.3.0.orig/lib/ovs-thread.c openvswitch-2.3.0/lib/ovs-thread.c +--- openvswitch-2.3.0.orig/lib/ovs-thread.c 2014-10-02 14:37:47.196714056 -0300 ++++ openvswitch-2.3.0/lib/ovs-thread.c 2014-10-02 14:38:10.826714288 -0300 +@@ -28,6 +28,9 @@ + #include "socket-util.h" + #include "util.h" + ++/* set default stack size to 1M */ ++#define OVS_STACK_SIZE (1024 * 1024) ++ + #ifdef __CHECKER__ + /* Omit the definitions in this file because they are somewhat difficult to + * write without prompting "sparse" complaints, without ugliness or +@@ -329,6 +332,7 @@ + { + struct ovsthread_aux *aux; + pthread_t thread; ++ pthread_attr_t attr; + int error; + + forbid_forking("multiple threads exist"); +@@ -340,10 +344,21 @@ + aux->arg = arg; + ovs_strlcpy(aux->name, name, sizeof aux->name); + +- error = pthread_create(&thread, NULL, ovsthread_wrapper, aux); ++ error = pthread_attr_init(&attr); ++ if (error) { ++ ovs_abort(error, "pthread_attr_init failed"); ++ } ++ error = pthread_attr_setstacksize(&attr, OVS_STACK_SIZE); ++ if (error) { ++ ovs_abort(error, "pthread_attr_setstacksize failed"); ++ } ++ ++ error = pthread_create(&thread, &attr, ovsthread_wrapper, aux); + if (error) { + ovs_abort(error, "pthread_create failed"); + } ++ pthread_attr_destroy(&attr); ++ + return thread; + } + |