pkgsrc/audio/alsa-lib/patches/patch-bg
hans f7c62f909a Fix build on SunOS.
Inspired by the patches used for the native package in OI.
2012-02-15 19:43:51 +00:00

42 lines
972 B
Text

$NetBSD: patch-bg,v 1.2 2012/02/15 19:43:51 hans Exp $
--- src/timer/timer_hw.c.orig 2008-10-29 08:42:10.000000000 -0400
+++ src/timer/timer_hw.c
@@ -72,11 +72,14 @@ static int snd_timer_hw_nonblock(snd_tim
static int snd_timer_hw_async(snd_timer_t *timer, int sig, pid_t pid)
{
+#ifndef __sun
long flags;
+#endif
int fd;
assert(timer);
fd = timer->poll_fd;
+#ifndef __sun
if ((flags = fcntl(fd, F_GETFL)) < 0) {
SYSERR("F_GETFL failed");
return -errno;
@@ -89,12 +92,22 @@ static int snd_timer_hw_async(snd_timer_
SYSERR("F_SETFL for O_ASYNC failed");
return -errno;
}
+#endif
if (sig < 0)
return 0;
+#ifndef __sun
+#ifdef F_SETSIG
if (fcntl(fd, F_SETSIG, (long)sig) < 0) {
SYSERR("F_SETSIG failed");
return -errno;
}
+#else
+ if (fcntl(fd, F_SETFL, O_ASYNC) < 0) {
+ SYSERR("F_SETFL failed");
+ return -errno;
+ }
+#endif
+#endif
if (fcntl(fd, F_SETOWN, (long)pid) < 0) {
SYSERR("F_SETOWN failed");
return -errno;