From: Lennart Poettering <mznyfn@0pointer.de>
To: ALSA Development Mailing List <alsa-devel@alsa-project.org>
Subject: Confusion about whether snd_pcm_poll_descriptors_revents()'s revents field is a single integer or an array
Date: Mon, 2 Feb 2009 03:50:22 +0100 [thread overview]
Message-ID: <20090202025021.GA20642@tango.0pointer.de> (raw)
Heya!
If we look into the pcm example how snd_pcm_poll_descriptors_revents()
is used then we can see that the revents parameter apparently is
supposed to be a single integer. (which makes a lot of sense to me)
http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html#a33
However, snd_pcm_wait_nocheck() calls the same function and assumes it
is a complete array!
http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/pcm/pcm.c;h=74d1d1a4bd6083cd461b6d793c0ae41cca912f16;hb=HEAD#l2368
So what's it now? It makes more sense to me if it would be a single
fd.
The problem becomnes visible if someone writes a plugin that wants
wakeups from more than one fd because either snd_pcm_wait() using
applications start to act weirdly because the revents are not fully
initialized or snd_pcm_poll_descriptors_revents() using applications
get invalid memory accesses.
This has become visible in the Bluetooth plugin.
I guess nobody has written a plugin that has more than one fd to sleep
on yet, right?
Lennart
--
Lennart Poettering Red Hat, Inc.
lennart [at] poettering [dot] net ICQ# 11060553
http://0pointer.net/lennart/ GnuPG 0x1A015CC4
next reply other threads:[~2009-02-02 2:50 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-02 2:50 Lennart Poettering [this message]
2009-02-02 7:02 ` Confusion about whether snd_pcm_poll_descriptors_revents()'s revents field is a single integer or an array Takashi Iwai
2009-02-02 14:34 ` Takashi Iwai
2009-02-02 14:58 ` Takashi Iwai
2009-02-02 15:04 ` Jaroslav Kysela
2009-02-02 15:10 ` Takashi Iwai
2009-02-02 14:49 ` Lennart Poettering
2009-02-02 14:55 ` Takashi Iwai
2009-02-02 15:02 ` Jaroslav Kysela
2009-02-02 15:15 ` Takashi Iwai
2009-02-02 15:04 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090202025021.GA20642@tango.0pointer.de \
--to=mznyfn@0pointer.de \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.