Re: xmms, kjofol and deadlock

Andrew Burgess <[email protected]>
Newsgroups gmane.comp.multimedia.xmms.devel
Message-ID <[email protected]>
* Andrew Burgess <[email protected]> [2004-03-22 18:37:31 +0000]:

> I am using xmms 1.2.10 compiled from source, and kjofol visualisation
> plug-in from:
>   http://www.csse.monash.edu.au/~timf/xmms.html
> 
> Everything works fine except, when using a kjofol playlist editor to
> add tracks or remove tracks.
> 
> The problem is that xmms locks up - it turns out to be a threading
> issue, and xmms is hanging on a call to GDK_THREADS_ENTER()


Ok, I figured it out. Firstly I should apologise, the playlist editor
never worked through kjofol (it does say this on the web page, I
clearly can't read), so even when the deadlocking problem is solved it
doesn't really "work" as you would expect it too.

The problem is that the kjofol callback invoked when the clear button
is pressed  does not use GDK_THREADS_LEAVE() and so is still holding
the lock when the xmms remote call handling thread tries to get it -
they are then deadlocked.

My next question is really OT, but something that has puzzled me while
I tried to work this all out was this: when the gtk callbacks are made
for button presses they are holding the gdk thread lock (as the call
the gtk mainloop is surrounded by lock ... unlock) yet the call made
to the idle_func, caused by gtk_timeout_add, *does not* hold the lock
- despite still being called (I thought) from within the gtk main
loop. If someone could explain why that is (I guess I am missing
something) that would be great.

Thanks for your time

Andrew B
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.