[evolution-ews] Bug #680525 - Deadlock in calendar when locking priv structure



commit b047aa16a9d36a2208b49d646999948789bc52d7
Author: Milan Crha <mcrha redhat com>
Date:   Tue Jul 24 19:43:47 2012 +0200

    Bug #680525 - Deadlock in calendar when locking priv structure

 src/calendar/e-cal-backend-ews.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/src/calendar/e-cal-backend-ews.c b/src/calendar/e-cal-backend-ews.c
index fca4d23..c01de04 100644
--- a/src/calendar/e-cal-backend-ews.c
+++ b/src/calendar/e-cal-backend-ews.c
@@ -396,6 +396,7 @@ e_cal_backend_ews_discard_alarm (ECalBackend *backend,
 	if (!comp) {
 		e_data_cal_respond_discard_alarm (cal, context,
 						   EDC_ERROR (ObjectNotFound));
+		PRIV_UNLOCK (priv);
 		return;
 	}
 
@@ -969,6 +970,7 @@ e_cal_backend_ews_remove_object (ECalBackend *backend,
 		if (!parent) {
 			g_warning ("EEE Cant find master component with uid:%s\n", uid);
 			g_propagate_error (&error, EDC_ERROR (ObjectNotFound));
+			PRIV_UNLOCK (priv);
 			goto exit;
 		}
 	}
@@ -976,6 +978,7 @@ e_cal_backend_ews_remove_object (ECalBackend *backend,
 	if (!comp && !parent) {
 		g_warning ("EEE Cant find component with uid:%s & rid:%s\n", uid, rid);
 		g_propagate_error (&error, EDC_ERROR (ObjectNotFound));
+		PRIV_UNLOCK (priv);
 		goto errorlvl1;
 	}
 
@@ -2201,6 +2204,7 @@ e_cal_backend_ews_modify_object (ECalBackend *backend,
 	if (!oldcomp) {
 		g_propagate_error (&error, EDC_ERROR (ObjectNotFound));
 		g_object_unref (comp);
+		PRIV_UNLOCK (priv);
 		goto exit;
 	}
 	PRIV_UNLOCK (priv);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]