From 95918b58c2f1c295756a56083bb766e31dfc38e0 Mon Sep 17 00:00:00 2001 From: smorlat Date: Tue, 10 Nov 2009 20:12:52 +0000 Subject: [PATCH] use vfork() disable https serialisation in buddylookup plugin git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@758 3f6dc0c8-ddfe-455d-9043-3cd528dc4637 --- linphone/console/shell.c | 4 ---- linphone/coreapi/plugins/buddylookup/src/lookup.c | 8 +++++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/linphone/console/shell.c b/linphone/console/shell.c index c1c152d5e..0f0906439 100644 --- a/linphone/console/shell.c +++ b/linphone/console/shell.c @@ -142,11 +142,7 @@ static void spawn_linphonec(int argc, char *argv[]){ } args[j++]=NULL; -#ifdef __BFIN__ /* is a uClinux target */ pid = vfork(); -#else - pid = fork(); -#endif if (pid < 0){ fprintf(stderr,"Could not fork\n"); exit(-1); diff --git a/linphone/coreapi/plugins/buddylookup/src/lookup.c b/linphone/coreapi/plugins/buddylookup/src/lookup.c index 8a685a442..903c80e32 100644 --- a/linphone/coreapi/plugins/buddylookup/src/lookup.c +++ b/linphone/coreapi/plugins/buddylookup/src/lookup.c @@ -7,6 +7,8 @@ #endif #include +#define SERIALIZE_HTTPS 0 + static bool_t buddy_lookup_init(void){ return TRUE; }; @@ -152,7 +154,7 @@ static int xml_rpc_parse_response(BLReq *blreq, SoupMessage *sm){ return blreq->base.status==BuddyLookupDone ? 0 : -1; } -#ifdef WIN32 +#if SERIALIZE_HTTPS /*on windows libsoup support for threads with gnutls is not yet functionnal (only in git) This will come in next release of libsoup, probably. In the meantime, we are forced to serialize all soup https processing with a big @@ -168,7 +170,7 @@ static void * process_xml_rpc_request(void *up){ int code; g_signal_connect_swapped(G_OBJECT(sm),"got-headers",(GCallback)got_headers,blreq); blreq->base.status=BuddyLookupConnecting; -#ifdef WIN32 +#if SERIALIZE_HTTPS g_static_mutex_lock(&big_mutex); #endif code=soup_session_send_message(blreq->session,sm); @@ -179,7 +181,7 @@ static void * process_xml_rpc_request(void *up){ ms_error("request failed, error-code=%i (%s)",code,soup_status_get_phrase(code)); blreq->base.status=BuddyLookupFailure; } -#ifdef WIN32 +#if SERIALIZE_HTTPS g_static_mutex_unlock(&big_mutex); #endif return NULL;