From 764fb0eb598e94e18ac76b7bf7b9afdaa1e46c5f Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 4 Apr 2010 13:49:55 +0200 Subject: use nanosleep instead of usleep --- package/alsa-lib/patches/patch-src_pcm_pcm_shm_c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 package/alsa-lib/patches/patch-src_pcm_pcm_shm_c (limited to 'package/alsa-lib') diff --git a/package/alsa-lib/patches/patch-src_pcm_pcm_shm_c b/package/alsa-lib/patches/patch-src_pcm_pcm_shm_c new file mode 100644 index 000000000..decd44bc8 --- /dev/null +++ b/package/alsa-lib/patches/patch-src_pcm_pcm_shm_c @@ -0,0 +1,23 @@ +--- alsa-lib-1.0.22.orig/src/pcm/pcm_shm.c 2009-12-16 16:18:51.000000000 +0100 ++++ alsa-lib-1.0.22/src/pcm/pcm_shm.c 2010-04-04 10:53:44.000000000 +0200 +@@ -482,15 +482,19 @@ static int snd_pcm_shm_drop(snd_pcm_t *p + + static int snd_pcm_shm_drain(snd_pcm_t *pcm) + { ++ struct timespec ts; + snd_pcm_shm_t *shm = pcm->private_data; + volatile snd_pcm_shm_ctrl_t *ctrl = shm->ctrl; + int err; ++ ts.tv_sec = 0; ++ ts.tv_nsec = 10000000; ++ + do { + ctrl->cmd = SNDRV_PCM_IOCTL_DRAIN; + err = snd_pcm_shm_action(pcm); + if (err != -EAGAIN) + break; +- usleep(10000); ++ nanosleep(&ts, NULL); + } while (1); + if (err < 0) + return err; -- cgit v1.2.3