summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-07-12 16:00:51 +0000
committerLennart Poettering <lennart@poettering.net>2007-07-12 16:00:51 +0000
commit1a84664edbb9acf460a020c6a2c3000369d44e3f (patch)
tree11bd2686f3a14ab87d7cbed37ca8a36d658e5cd5 /src
parent683fc4cef8e0cd785a4af484bad48ba034cbd07a (diff)
Make sure pollfd[POLLFD_ASYNCQ].revents is properly initialized on signal
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1507 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src')
-rw-r--r--src/modules/module-oss.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/modules/module-oss.c b/src/modules/module-oss.c
index a0fc0aa3..f402fb6f 100644
--- a/src/modules/module-oss.c
+++ b/src/modules/module-oss.c
@@ -142,6 +142,8 @@ static int suspend(struct userdata *u) {
ioctl(u->fd, SNDCTL_DSP_SYNC, NULL);
close(u->fd);
u->fd = -1;
+
+ pa_log_debug("Device suspended...");
return 0;
}
@@ -208,6 +210,8 @@ static int unsuspend(struct userdata *u) {
pa_xfree(buf);
}
+ pa_log_debug("Resumed successfully...");
+
return 0;
fail:
@@ -610,8 +614,11 @@ static void thread_func(void *userdata) {
pollfd[POLLFD_DSP].revents = 0;
if (r < 0) {
- if (errno == EINTR)
+ if (errno == EINTR) {
+ pollfd[POLLFD_ASYNCQ].revents = 0;
+ pollfd[POLLFD_DSP].revents = 0;
continue;
+ }
pa_log("poll() failed: %s", pa_cstrerror(errno));
goto fail;