[PATCH] Fix deadlock in an error path

Havoc Pennington hp at redhat.com
Mon Dec 4 15:55:32 PST 2006


John (J5) Palmieri wrote:
> Java was tripping over SELinux when handshaking with the bus and hitting
> an error path which caused a deadlock [1].  While we fixed the issue
> with SELinux I investigated more and found this bit of interesting code:
> 
> 
> void
> _dbus_bus_notify_shared_connection_disconnected_unlocked (DBusConnection
> *connection)
> {
>   int i;
>   
>   _DBUS_LOCK (bus);

I think this is just a mistake in naming the function. _unlocked usually 
refers to the connection lock, but this is the global lock in dbus-bus.c 
which is different. I don't know a reason that the dbus-bus.c lock would 
be held already when calling this.

Havoc



More information about the dbus mailing list