From f2a40364e82ac2e3c213c016b84294739f2439ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Fri, 26 Jun 2015 13:16:09 +0200 Subject: [PATCH] Fix threads initialization in kopete libjingle [taken from FreeBSD kopete patches] (cherry picked from commit 34dd52adffbebc28d391a222530aa29e8df59873) --- .../jabber/jingle/libjingle/talk/base/criticalsection.h | 2 ++ kopete/protocols/jabber/jingle/libjingle/talk/base/thread.cc | 1 + .../jingle/libjingle/talk/session/phone/linphonemediaengine.cc | 1 + 3 files changed, 4 insertions(+) diff --git a/kopete/protocols/jabber/jingle/libjingle/talk/base/criticalsection.h b/kopete/protocols/jabber/jingle/libjingle/talk/base/criticalsection.h index 145ceba1..fe976322 100644 --- a/kopete/protocols/jabber/jingle/libjingle/talk/base/criticalsection.h +++ b/kopete/protocols/jabber/jingle/libjingle/talk/base/criticalsection.h @@ -83,8 +83,10 @@ class CriticalSection { public: CriticalSection() { pthread_mutexattr_t mutex_attribute; + pthread_mutexattr_init(&mutex_attribute); pthread_mutexattr_settype(&mutex_attribute, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&mutex_, &mutex_attribute); + pthread_mutexattr_destroy(&mutex_attribute); } ~CriticalSection() { pthread_mutex_destroy(&mutex_); diff --git a/kopete/protocols/jabber/jingle/libjingle/talk/base/thread.cc b/kopete/protocols/jabber/jingle/libjingle/talk/base/thread.cc index 8f18a992..b189e621 100644 --- a/kopete/protocols/jabber/jingle/libjingle/talk/base/thread.cc +++ b/kopete/protocols/jabber/jingle/libjingle/talk/base/thread.cc @@ -113,6 +113,7 @@ void Thread::Start() { pthread_attr_t attr; pthread_attr_init(&attr); pthread_create(&thread_, &attr, PreLoop, this); + pthread_attr_destroy(&attr); started_ = true; } diff --git a/kopete/protocols/jabber/jingle/libjingle/talk/session/phone/linphonemediaengine.cc b/kopete/protocols/jabber/jingle/libjingle/talk/session/phone/linphonemediaengine.cc index d9cf2a94..756456d3 100644 --- a/kopete/protocols/jabber/jingle/libjingle/talk/session/phone/linphonemediaengine.cc +++ b/kopete/protocols/jabber/jingle/libjingle/talk/session/phone/linphonemediaengine.cc @@ -66,6 +66,7 @@ LinphoneMediaChannel::LinphoneMediaChannel() { pthread_attr_init(&attr); pthread_create(&thread_, &attr, &thread_function, this); + pthread_attr_destroy(&attr); } LinphoneMediaChannel::~LinphoneMediaChannel() {