aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_gtalk.c
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-24 15:26:10 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-24 15:26:10 +0000
commitef88503110c3b84763ba29ebe7ca63f10d757e77 (patch)
tree1e3541f00193ac3a5c80dcb057773c1926692ae2 /channels/chan_gtalk.c
parent27cf4bcba0f46e6d9296bbaa80ca1d7ae6196e4f (diff)
Issue 7672 - fix by zandbelt - Asterisk core dump since the GnuTLS interface did not support multithreading correctly.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@65901 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_gtalk.c')
-rw-r--r--channels/chan_gtalk.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c
index 1da9e8bfa..657e0d83c 100644
--- a/channels/chan_gtalk.c
+++ b/channels/chan_gtalk.c
@@ -48,6 +48,10 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <sys/signal.h>
#include <iksemel.h>
+#include <gcrypt.h>
+#include <pthread.h>
+GCRY_THREAD_OPTION_PTHREAD_IMPL;
+
#include "asterisk/lock.h"
#include "asterisk/channel.h"
#include "asterisk/config.h"
@@ -1805,6 +1809,8 @@ static int gtalk_load_config(void)
/*! \brief Load module into PBX, register channel */
static int load_module(void)
{
+ gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+
ASTOBJ_CONTAINER_INIT(&gtalk_list);
if (!gtalk_load_config()) {
ast_log(LOG_ERROR, "Unable to read config file %s. Not loading module.\n", GOOGLE_CONFIG);