libbonobo r3436 - in trunk: . activation-server
- From: michael svn gnome org
- To: svn-commits-list gnome org
- Subject: libbonobo r3436 - in trunk: . activation-server
- Date: Mon, 28 Jan 2008 09:54:01 +0000 (GMT)
Author: michael
Date: Mon Jan 28 09:54:01 2008
New Revision: 3436
URL: http://svn.gnome.org/viewvc/libbonobo?rev=3436&view=rev
Log:
2008-01-28 Michael Meeks <michael meeks novell com>
* activation-server/object-directory-corba.c
(od_get_active_server): fix #512520
Modified:
trunk/ChangeLog
trunk/activation-server/object-directory-corba.c
Modified: trunk/activation-server/object-directory-corba.c
==============================================================================
--- trunk/activation-server/object-directory-corba.c (original)
+++ trunk/activation-server/object-directory-corba.c Mon Jan 28 09:54:01 2008
@@ -364,9 +364,20 @@
break;
}
}
- if (retval != CORBA_OBJECT_NIL &&
- !CORBA_Object_non_existent (retval, NULL))
- return CORBA_Object_duplicate (retval, NULL);
+ if (retval != CORBA_OBJECT_NIL) {
+ gboolean non_existent;
+ ServerLockState state;
+
+ /* With dead objects, this path can cause lengthy
+ re-connection attempts, blocking all other
+ activation, so drop the lock. g#512520 */
+ state = server_lock_drop();
+ non_existent = CORBA_Object_non_existent (retval, NULL);
+ server_lock_resume (state);
+
+ if (!non_existent)
+ return CORBA_Object_duplicate (retval, NULL);
+ }
return CORBA_OBJECT_NIL;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]