[farsight2/master] Release lock on various errors
Olivier Crête
olivier.crete at collabora.co.uk
Fri Feb 20 08:40:35 PST 2009
---
transmitters/nice/fs-nice-stream-transmitter.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/transmitters/nice/fs-nice-stream-transmitter.c b/transmitters/nice/fs-nice-stream-transmitter.c
index 2d46969..8611984 100644
--- a/transmitters/nice/fs-nice-stream-transmitter.c
+++ b/transmitters/nice/fs-nice-stream-transmitter.c
@@ -676,6 +676,7 @@ fs_nice_stream_transmitter_set_remote_candidates (
if (!candidate->ip)
{
+ FS_NICE_STREAM_TRANSMITTER_UNLOCK (self);
g_set_error (error, FS_ERROR, FS_ERROR_INVALID_ARGUMENTS,
"Candidate MUST have an IP address");
return FALSE;
@@ -684,6 +685,7 @@ fs_nice_stream_transmitter_set_remote_candidates (
if (candidate->component_id == 0 ||
candidate->component_id > self->priv->transmitter->components)
{
+ FS_NICE_STREAM_TRANSMITTER_UNLOCK (self);
g_set_error (error, FS_ERROR, FS_ERROR_INVALID_ARGUMENTS,
"Candidate MUST have a component id between 1 and %d, %d is invalid",
self->priv->transmitter->components, candidate->component_id);
@@ -692,6 +694,7 @@ fs_nice_stream_transmitter_set_remote_candidates (
if (candidate->type == FS_CANDIDATE_TYPE_MULTICAST)
{
+ FS_NICE_STREAM_TRANSMITTER_UNLOCK (self);
g_set_error (error, FS_ERROR, FS_ERROR_INVALID_ARGUMENTS,
"libnice transmitter does not accept multicast candidates");
return FALSE;
@@ -699,6 +702,7 @@ fs_nice_stream_transmitter_set_remote_candidates (
if (!candidate->username)
{
+ FS_NICE_STREAM_TRANSMITTER_UNLOCK (self);
g_set_error (error, FS_ERROR, FS_ERROR_INVALID_ARGUMENTS,
"Invalid remote candidates passed, does not have a username");
return FALSE;
@@ -707,6 +711,7 @@ fs_nice_stream_transmitter_set_remote_candidates (
if (self->priv->compatibility_mode != NICE_COMPATIBILITY_GOOGLE &&
!candidate->password)
{
+ FS_NICE_STREAM_TRANSMITTER_UNLOCK (self);
g_set_error (error, FS_ERROR, FS_ERROR_INVALID_ARGUMENTS,
"Invalid remote candidates passed, does not have a password");
return FALSE;
@@ -721,6 +726,7 @@ fs_nice_stream_transmitter_set_remote_candidates (
}
else if (strcmp (username, candidate->username))
{
+ FS_NICE_STREAM_TRANSMITTER_UNLOCK (self);
g_set_error (error, FS_ERROR, FS_ERROR_INVALID_ARGUMENTS,
"Invalid remote candidates passed, does not have the right"
" username");
@@ -733,6 +739,7 @@ fs_nice_stream_transmitter_set_remote_candidates (
}
else if (strcmp (password, candidate->password))
{
+ FS_NICE_STREAM_TRANSMITTER_UNLOCK (self);
g_set_error (error, FS_ERROR, FS_ERROR_INVALID_ARGUMENTS,
"Invalid remote candidates passed, does not have the right"
" password");
--
1.5.6.5
More information about the farsight-commits
mailing list