parent
b1a7357238
commit
61295870fa
2 changed files with 3 additions and 62 deletions
|
@ -1,59 +0,0 @@
|
|||
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(+)
|
||||
|
||||
--- lib/ovs-thread.c 2014-10-02 14:37:47.196714056 -0300
|
||||
+++ 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;
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'openvswitch'
|
||||
pkgname=openvswitch
|
||||
version=2.5.0
|
||||
revision=4
|
||||
version=2.5.4
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
configure_args="--with-rundir=/run/openvswitch"
|
||||
hostmakedepends="python perl"
|
||||
|
@ -12,7 +12,7 @@ maintainer="Renato Aguiar <contact@renatoaguiar.org>"
|
|||
license="Apache-2.0"
|
||||
homepage="http://openvswitch.org/"
|
||||
distfiles="http://openvswitch.org/releases/${pkgname}-${version}.tar.gz"
|
||||
checksum=34da54fbad503205b1a66b48ca4312679e1ce5b04763a9fb86050b2b25d66f21
|
||||
checksum=3bba0829268b5a1ad25a033499ba68709352c5fec109e01ac37494f4f84151d2
|
||||
only_for_archs="i686 i686-musl x86_64 x86_64-musl"
|
||||
_completiondir="/usr/share/bash-completion/completions"
|
||||
make_install_args+=" completiondir=${_completiondir}"
|
||||
|
|
Loading…
Reference in a new issue