Re: [Rhythmbox-devel] Bonobo interface in rhythmbox-0.9

On Sun, Apr 03, 2005 at 04:15:06PM +0200, Oliver Lemke wrote:
> On Sun, 2005-04-03 at 22:30 +1000, Jonathan Matthew wrote:
> > rhythmbox-applet works, and I've checked a few of the python-based clients.
> > I haven't checked rbscrobbler or gaim-rhythmbox or
> > $your_favourite_client, though.
> I can confirm that it also works smoothly with rbscrobbler.


> > Remote-related patches are:
> >  jonatan pnx se--2004/rhythmbox--main--0.9--patch-[1-6]
> >  jonathan kaolin hn org--2005/rhythmbox--remote--0.9--patch-{1,3,4,5}
> > 
> > if you want to try applying them to an existing source tree.
> > Other patches in those branches are merges and so on, likely to be
> > already applied to any current source tree.  This set of patches applies
> > cleanly to Christophe's playbin branch, and should work properly with
> > the play queue, but I haven't tested that.
> It's now also available in the rhythmbox--merge--0.9 tree.

I've been experiencing a lot of deadlocks when using rhythmbox-applet,
which turned out to be caused by recursive GDK_THREADS_ENTER calls.

This was happening on gconf calls, which caused ORBit to process any
incoming requests *within the gconf call*.  If the gconf call was made
with the gdk lock held, and there was a bonobo remote request waiting,
the bonobo request handler would try to take the gdk lock again.

Dropping the gdk lock before anything that could result in a gconf
call looked way too hard, so I just hacked in gdk lock/unlock functions
using a GStaticRecMutex instead of the GMutex the standard functions
use.  This is patch-6 and patch-7 in my rhythmbox--remote--0.9 branch.

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