mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-07 05:53:06 +00:00
uPnP improvements
Fix mutex lock in the destructor Add firewall commands in console
This commit is contained in:
parent
936ec61f40
commit
1a5169a147
3 changed files with 10 additions and 7 deletions
|
|
@ -244,6 +244,8 @@ static LPC_COMMAND commands[] = {
|
|||
"'firewall none' : use direct connection.\n"
|
||||
"'firewall nat' : use nat address given with the 'nat' command.\n"
|
||||
"'firewall stun' : use stun server given with the 'stun' command.\n"
|
||||
"'firewall ice' : use ice.\n"
|
||||
"'firewall upnp' : use uPnP IGD.\n"
|
||||
},
|
||||
{ "call-logs", lpc_cmd_call_logs, "Calls history", NULL },
|
||||
{ "friend", lpc_cmd_friend, "Manage friends",
|
||||
|
|
@ -850,6 +852,10 @@ lpc_cmd_firewall(LinphoneCore *lc, char *args)
|
|||
{
|
||||
linphone_core_set_firewall_policy(lc,LinphonePolicyNoFirewall);
|
||||
}
|
||||
else if (strcmp(args,"upnp")==0)
|
||||
{
|
||||
linphone_core_set_firewall_policy(lc,LinphonePolicyUseUpnp);
|
||||
}
|
||||
else if (strcmp(args,"ice")==0)
|
||||
{
|
||||
setting = linphone_core_get_stun_server(lc);
|
||||
|
|
|
|||
|
|
@ -309,15 +309,14 @@ void linphone_upnp_context_destroy(UpnpContext *lupnp) {
|
|||
ms_message("uPnP IGD: Wait all pending port bindings ...");
|
||||
ms_cond_wait(&lupnp->empty_cond, &lupnp->mutex);
|
||||
}
|
||||
ms_mutex_unlock(&lupnp->mutex);
|
||||
|
||||
if(lupnp->upnp_igd_ctxt != NULL) {
|
||||
// upnp_igd_destroy is synchronous so the callbacks will be called in the same thread.
|
||||
// So release the mutex before upnp_igd_destroy call.
|
||||
ms_mutex_unlock(&lupnp->mutex);
|
||||
upnp_igd_destroy(lupnp->upnp_igd_ctxt);
|
||||
ms_mutex_lock(&lupnp->mutex);
|
||||
lupnp->upnp_igd_ctxt = NULL;
|
||||
}
|
||||
|
||||
/* No more multi threading here */
|
||||
|
||||
/* Run one more time configuration update and proxy */
|
||||
linphone_upnp_update_config(lupnp);
|
||||
|
|
@ -345,8 +344,6 @@ void linphone_upnp_context_destroy(UpnpContext *lupnp) {
|
|||
ms_list_for_each(lupnp->pending_bindings,(void (*)(void*))linphone_upnp_port_binding_release);
|
||||
lupnp->pending_bindings = ms_list_free(lupnp->pending_bindings);
|
||||
|
||||
ms_mutex_unlock(&lupnp->mutex);
|
||||
|
||||
ms_mutex_destroy(&lupnp->mutex);
|
||||
ms_cond_destroy(&lupnp->empty_cond);
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit e033b06a731d0b9bc4e69afc690f6469eae73f66
|
||||
Subproject commit 8d85a5ded3b18e2d3d4ba22ee75e0f1ef9c0f739
|
||||
Loading…
Add table
Reference in a new issue