[evolution-ews/gnome-3-4] Bug #680525 - Deadlock in calendar when locking priv structure



commit be4f3782452ca336f5aa398495cc653656d986fb
Author: Milan Crha <mcrha redhat com>
Date:   Tue Jul 24 19:44:18 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 9c40f41..e7e93e8 100644
--- a/src/calendar/e-cal-backend-ews.c
+++ b/src/calendar/e-cal-backend-ews.c
@@ -320,6 +320,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;
 	}
 
@@ -1017,6 +1018,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;
 		}
 	}
@@ -1024,6 +1026,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;
 	}
 
@@ -2158,6 +2161,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]