summaryrefslogtreecommitdiffstats
path: root/include/sound/control.h
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2009-11-02 09:35:44 +0100
committerTakashi Iwai <tiwai@suse.de>2009-11-06 14:32:06 +0100
commit25d27eded1f4fc728e64f443adc339b5229be5d7 (patch)
treeb738266467fc0f85d9f7f29e439dfff8e33da4c0 /include/sound/control.h
parentcontrol: remove snd_konctrol_volatile::owner_pid field (diff)
downloadlinux-25d27eded1f4fc728e64f443adc339b5229be5d7.tar.xz
linux-25d27eded1f4fc728e64f443adc339b5229be5d7.zip
control: use reference-counted pid
Instead of storing the PID number, take a reference to the task's pid structure. This protects against duplicates due to PID overflows, and using pid_vnr() ensures that the PID returned by snd_ctl_elem_info() is correct as seen from the current namespace. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound/control.h')
-rw-r--r--include/sound/control.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/sound/control.h b/include/sound/control.h
index 3517745d0a2d..112374dc0c58 100644
--- a/include/sound/control.h
+++ b/include/sound/control.h
@@ -86,10 +86,12 @@ struct snd_kctl_event {
#define snd_kctl_event(n) list_entry(n, struct snd_kctl_event, list)
+struct pid;
+
struct snd_ctl_file {
struct list_head list; /* list of all control files */
struct snd_card *card;
- pid_t pid;
+ struct pid *pid;
int prefer_pcm_subdevice;
int prefer_rawmidi_subdevice;
wait_queue_head_t change_sleep;