]> git.alsa-project.org Git - alsa-python.git/commitdiff
allow thread when calling handle events for mixer and hcontrol interface
authorJaroslav Kysela <perex@perex.cz>
Fri, 2 Nov 2007 17:30:20 +0000 (18:30 +0100)
committerJaroslav Kysela <perex@perex.cz>
Fri, 2 Nov 2007 17:30:20 +0000 (18:30 +0100)
pyalsa/alsahcontrol.c
pyalsa/alsamixer.c

index cda20164a9c83452598d65530bfc14d8c13e959e..70ce807b52b9542af7518b167a03bcca14e61135 100644 (file)
@@ -148,7 +148,11 @@ PyDoc_STRVAR(handlevents__doc__,
 static PyObject *
 pyalsahcontrol_handleevents(struct pyalsahcontrol *self, PyObject *args)
 {
-       int err = snd_hctl_handle_events(self->handle);
+       int err;
+       
+       Py_BEGIN_ALLOW_THREADS;
+       err = snd_hctl_handle_events(self->handle);
+       Py_END_ALLOW_THREADS;
        if (err < 0)
                PyErr_Format(PyExc_IOError,
                     "HControl handle events error: %s", strerror(-err));
index 532c249a1b2987a7ce6ca2eddcf11d5fff49efcd..a2d5097ea086f3d9a388bce8fe65cb2acdefad88 100644 (file)
@@ -137,7 +137,11 @@ PyDoc_STRVAR(handlevents__doc__,
 static PyObject *
 pyalsamixer_handleevents(struct pyalsamixer *self, PyObject *args)
 {
-       int err = snd_mixer_handle_events(self->handle);
+       int err;
+
+       Py_BEGIN_ALLOW_THREADS;
+       err = snd_mixer_handle_events(self->handle);
+       Py_END_ALLOW_THREADS;
        if (err < 0)
                PyErr_Format(PyExc_IOError,
                     "Alsamixer handle events error: %s", strerror(-err));