[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/multimedia/kmid/alsa
From:       Pedro Lopez-Cabanillas <pedro.lopez.cabanillas () gmail ! com>
Date:       2010-07-10 20:51:13
Message-ID: 20100710210112.06082AC85F () svn ! kde ! org
[Download RAW message or body]

SVN commit 1148489 by pedrol:

A bug in glib-2.22 (https://bugzilla.gnome.org/show_bug.cgi?id=599079) produces a \
crash in FluidSynth 1.1.x when launched from inside KMid, if the user has permissions \
to set realtime priority, used by Drumstick. This is a workaround, resetting the \
scheduler to the default time sharing of Linux.


 M  +4 -0      alsabackend.cpp  


--- trunk/extragear/multimedia/kmid/alsa/alsabackend.cpp #1148488:1148489
@@ -32,6 +32,7 @@
 #include <KMessageBox>
 #include <KLocale>
 #include <QWidget>
+#include <sched.h>
 
 using namespace drumstick;
 
@@ -68,11 +69,14 @@
     ALSABackend::ALSABackend(QObject* parent, const QVariantList& args)
         : Backend(parent, args), d(new BackendPrivate)
     {
+        struct sched_param p;
         try {
             d->m_object = new ALSAMIDIObject(this);
             d->m_output = new ALSAMIDIOutput(this);
             d->m_object->initialize(d->m_output);
             d->m_initialized = true;
+            ::memset(&p, 0, sizeof(p));
+            ::sched_setscheduler(QCoreApplication::applicationPid(), SCHED_OTHER, \
&p);  } catch (const SequencerError& ex) {
             QString errorstr = i18nc("@info","Fatal error from the ALSA sequencer \
                backend. "
                 "This usually happens when the kernel does not have ALSA support, "


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic