KDE 4.11 showstopper: KMix lockup for 20 seconds, and a concept for fixing it
Christian Esken
christian at esken.de
Fri Jul 12 08:49:12 BST 2013
Am 11.07.2013 11:12, schrieb Harald Sitter:
> Ahoy,
>
> However short of seralizing the pluging through that messageloop thing
> (which btw is doing very efficient polling - not) the thread does
> absolutely nothing; the deadlock/timeout is still there. If you plug
> clementine, amarok and tomahawk in that order, it will take 25+
> seconds until amarok is actually plugged because clementine will still
> timeout and will until then block the thread, then if amarok also
> times out it will take 50+ seconds until tomahawk gets plugged......
>
> All in all it appears to me the thread solves nothing and might only
> cause problems in the future (as threads tend to do).
Forgot to mention one very important aspect: Using a thread makes KMix
to not lock. KMIx can be used. ALSA backend should be there and all
players that were registered before we hit one that leads to a timeout.
So if I am right about this, one important goal was achieved, and it
could go in 4.11 as a temporary solution.
And about the "Threads cause probles" statement: I wholeheartedly
disagree. Threads are good. It is simply due to the single-threaded
nature of GUI programs that promote problems like this (cannot process
HTTP, DBUS, ... because I am busy). In most situations I would prefer
Threads to asynchronous because the code can be much much cleaner.
Christian
More information about the kde-multimedia
mailing list