summaryrefslogtreecommitdiffstats
path: root/main/freeswitch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2015-05-21 13:28:19 +0300
committerTimo Teräs <timo.teras@iki.fi>2015-05-21 13:31:01 +0300
commit4612138ae56728c821ba01850d8e0f36aa5ce2a3 (patch)
tree8102f290b177da07eee902b4eb6537224a89fb8f /main/freeswitch
parent53bcdbbc4e1a45b29abec5c30c679cb6703eb323 (diff)
downloadaports-4612138ae56728c821ba01850d8e0f36aa5ce2a3.tar.bz2
aports-4612138ae56728c821ba01850d8e0f36aa5ce2a3.tar.xz
main/freeswitch: fix shutdown
fix incorrect usage of pthread_detach/pthread_join. fixes #3496
Diffstat (limited to 'main/freeswitch')
-rw-r--r--main/freeswitch/0001-fix-joining-to-threads.patch40
-rw-r--r--main/freeswitch/APKBUILD6
2 files changed, 45 insertions, 1 deletions
diff --git a/main/freeswitch/0001-fix-joining-to-threads.patch b/main/freeswitch/0001-fix-joining-to-threads.patch
new file mode 100644
index 000000000..f223e3078
--- /dev/null
+++ b/main/freeswitch/0001-fix-joining-to-threads.patch
@@ -0,0 +1,40 @@
+From 914a9e09b56696311b9fce8acfa9380c74eb8e23 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+Date: Thu, 21 May 2015 12:53:38 +0300
+Subject: [PATCH] fix joining to threads
+
+do not detach threads that we later join to. joining to detached
+thread invokes unspecified behaviour (usually crash).
+---
+ src/switch_log.c | 2 --
+ src/switch_scheduler.c | 1 -
+ 2 files changed, 3 deletions(-)
+
+diff --git a/src/switch_log.c b/src/switch_log.c
+index 00ae7c0..c512b2d 100644
+--- a/src/switch_log.c
++++ b/src/switch_log.c
+@@ -512,8 +512,6 @@ SWITCH_DECLARE(switch_status_t) switch_log_init(switch_memory_pool_t *pool, swit
+ LOG_POOL = pool;
+
+ switch_threadattr_create(&thd_attr, LOG_POOL);
+- switch_threadattr_detach_set(thd_attr, 1);
+-
+
+ switch_queue_create(&LOG_QUEUE, SWITCH_CORE_QUEUE_LEN, LOG_POOL);
+ #ifdef SWITCH_LOG_RECYCLE
+diff --git a/src/switch_scheduler.c b/src/switch_scheduler.c
+index e734bad..16fc59d 100644
+--- a/src/switch_scheduler.c
++++ b/src/switch_scheduler.c
+@@ -335,7 +335,6 @@ SWITCH_DECLARE(void) switch_scheduler_task_thread_start(void)
+ switch_mutex_init(&globals.task_mutex, SWITCH_MUTEX_NESTED, globals.memory_pool);
+ switch_queue_create(&globals.event_queue, 250000, globals.memory_pool);
+
+- switch_threadattr_detach_set(thd_attr, 1);
+ switch_thread_create(&task_thread_p, thd_attr, switch_scheduler_task_thread, NULL, globals.memory_pool);
+ }
+
+--
+2.4.1
+
diff --git a/main/freeswitch/APKBUILD b/main/freeswitch/APKBUILD
index fef5f5501..308016480 100644
--- a/main/freeswitch/APKBUILD
+++ b/main/freeswitch/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Cameron Banta <cbanta@gmail.com>
pkgname=freeswitch
pkgver=1.4.18
-pkgrel=3
+pkgrel=4
pkgdesc="A communications platform written in C from the ground up"
url="http://www.freeswitch.org"
arch="all"
@@ -62,6 +62,7 @@ _libsources="
source="http://files.freeswitch.org/$pkgname-$pkgver.tar.xz
$_libsources
+ 0001-fix-joining-to-threads.patch
getlib.patch
modules.conf
freeswitch.confd
@@ -224,6 +225,7 @@ md5sums="a6044a3fcefc8f76cc2bfcab3abc9d58 freeswitch-1.4.18.tar.xz
8e9866ad6b570c6c95c8cba48060473f freeswitch-lame-3.98.4.tar.gz
e409b006b5dad6d8668c3e429bf20159 freeswitch-libshout-2.2.2.tar.gz
452fd875cb5e4d16f77c757371836fff freeswitch-mpg123-1.13.2.tar.gz
+84f6e3509fa4762a6fbdfe68ae0c6ea5 0001-fix-joining-to-threads.patch
1e7f335ee00f589825ecc9affa779346 getlib.patch
0eb382f73ed393f28b8a797ebbfa608b modules.conf
c608cca8ad773acebf201f581438c7e7 freeswitch.confd
@@ -237,6 +239,7 @@ sha256sums="54b3560d3c9b228a329677099beba40345af7592d19922212ee1a6c599ecbe4b fr
ac3144c76617223a9be4aaa3e28a66b51bcab28141050c3af04cb06836f772c8 freeswitch-lame-3.98.4.tar.gz
38701125cb0e0349f4394dd3254d6037eeb8af0747c0942ff433ffbcd48d2367 freeswitch-libshout-2.2.2.tar.gz
b3a855acc96e0061a0c2b1162e8aff80b6b1a03849e3756786db2fcacfc9a9bd freeswitch-mpg123-1.13.2.tar.gz
+749ddd2d3c7f68c0e84b4ea59fb46e0b1426668ad5b7ddc9a0ecc1264b466213 0001-fix-joining-to-threads.patch
ab437c92149b6fc88bc2fc8a228d6a5f8af574e2c90469a6dc4c753d13972c34 getlib.patch
f83f9680d243eb254bf045571f971a6c5cf716367444cd48ed26d4c3367f4c41 modules.conf
846a29a361ef6eecd77876963b5c0133699c40fa8b34c68df42d5f8a1a1915b1 freeswitch.confd
@@ -250,6 +253,7 @@ e2b353721d0316fbd7948f90f9c9561d080eebd50e8dd0449a9c803ffbdb060a469385fadd63f535
cf6cff914c06c2d65470c577eed2bfa226e9017cdfd26aa3e95c3b3b76c40568151ca223327859d6dacb982c80c06b672ba4e9f32ce1e452363c95126edb301b freeswitch-lame-3.98.4.tar.gz
d517d1d6a79dfd4819c42603faafc051c69270831f4894c01f6bd38e877eb008f8458534857641fd8d653fd437fb41ee1c558ff2a76339c3a8a579f4d5a26baf freeswitch-libshout-2.2.2.tar.gz
1940b6bf1c7167a7718ac0972e9c8cf9a49cf8c7a4a062052d00ead282cf4ae63214bfc317f2ccb424f6f3f26c602e91300d45635ba2d4f8da992c94b3ed0885 freeswitch-mpg123-1.13.2.tar.gz
+3582c2a603a9ca81f02334c37fa052cd99dbdffc8cc29016503aacff412d5429110991552be82c1739e398d094ad966090f5902ab8db4251b4d0f92f03bc43ca 0001-fix-joining-to-threads.patch
4ceb48f64d2bc26a02cc0846276506241bfd30c156422b0a1d608fd172c099feb5c121a763652e9a45046dcdd0ba0eb71eab240e0c6ce2ad63ff781719e135a4 getlib.patch
6330e47cd3dcfdb4f5c99e91c9c725c7c8aa4f1691d83817d7600e510b5a586f3312bab84df3766448bbdab78cd1feebecf64b8280626b3f751f6e787f145e23 modules.conf
a585f6411185a26206137a1ad97a06fd6c73e80c5439e9be45eabfa70e7a83120169ba882971fcd328436c8e0242cbd664170b80754ea2846021689baf1f1595 freeswitch.confd