From 764fb0eb598e94e18ac76b7bf7b9afdaa1e46c5f Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
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')

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