[alsa-devel] portability patch: EBADF [was Re: feeding back pkgsrc changs]

Thomas Klausner tk at giga.or.at
Tue Feb 23 15:09:06 CET 2016


Hi Takashi!

Thanks for the answer.

On Thu, Feb 18, 2016 at 04:51:15PM +0100, Takashi Iwai wrote:
> On Thu, 18 Feb 2016 16:47:44 +0100,
> Thomas Klausner wrote:
> > I've just updated the pkgsrc packages for alsa-lib, alsa-utils and
> > alsa-plugins to 1.1.0 and noticed that there are quite a number of
> > local patches we have. I'd like to get them integrated.
> > 
> > When I visited the alsa-projects web page, I noticed that the link to
> > the bug tracker is dead.
> > 
> > What is the recommended method to provide the patches?
> 
> Just submit your patches to alsa-devel ML.  That's the best way to
> review and get merged.

I'll start with a straightforward one. Some operating systems don't
provide an errno 'EBADFD'; let's use EBADF there instead.

This patch adds the define in all files that need it, but if you
prefer to add it to a central place instead, please suggest one.

Thanks,
 Thomas
-------------- next part --------------
>From e72e16bcb9bd2ddff2624fdb57a96fad6b3cf5bb Mon Sep 17 00:00:00 2001
From: Thomas Klausner <wiz at NetBSD.org>
Date: Tue, 23 Feb 2016 15:05:47 +0100
Subject: [PATCH] Define EBADFD in terms of EBADF if it doesn't exist.

For portability on FreeBSD, NetBSD and probably others.
---
 aserver/aserver.c         | 4 ++++
 src/control/control_shm.c | 4 ++++
 src/pcm/pcm.c             | 4 ++++
 src/pcm/pcm_dmix.c        | 4 ++++
 src/pcm/pcm_dshare.c      | 4 ++++
 src/pcm/pcm_dsnoop.c      | 4 ++++
 src/pcm/pcm_hw.c          | 4 ++++
 src/pcm/pcm_ioplug.c      | 4 ++++
 src/pcm/pcm_null.c        | 4 ++++
 src/pcm/pcm_rate.c        | 4 ++++
 src/pcm/pcm_share.c       | 4 ++++
 src/pcm/pcm_shm.c         | 4 ++++
 src/pcm/pcm_simple.c      | 4 ++++
 13 files changed, 52 insertions(+)

diff --git a/aserver/aserver.c b/aserver/aserver.c
index ac20706..88995cf 100644
--- a/aserver/aserver.c
+++ b/aserver/aserver.c
@@ -35,6 +35,10 @@
 
 #include "aserver.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 char *command;
 
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
diff --git a/src/control/control_shm.c b/src/control/control_shm.c
index bd07d4a..618ef39 100644
--- a/src/control/control_shm.c
+++ b/src/control/control_shm.c
@@ -35,6 +35,10 @@
 #include <netdb.h>
 #include "aserver.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #ifndef PIC
 /* entry for static linking */
 const char *_snd_module_control_shm = "";
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
index 203e7a5..6d40171 100644
--- a/src/pcm/pcm.c
+++ b/src/pcm/pcm.c
@@ -639,6 +639,10 @@ playback devices.
 #include <limits.h>
 #include "pcm_local.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 /**
  * \brief get identifier of PCM handle
  * \param pcm PCM handle
diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c
index b26a5c7..ba65cad 100644
--- a/src/pcm/pcm_dmix.c
+++ b/src/pcm/pcm_dmix.c
@@ -45,6 +45,10 @@
 #include <sys/mman.h>
 #include "pcm_direct.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #ifndef PIC
 /* entry for static linking */
 const char *_snd_module_pcm_dmix = "";
diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c
index 58e47bb..2556a30 100644
--- a/src/pcm/pcm_dshare.c
+++ b/src/pcm/pcm_dshare.c
@@ -45,6 +45,10 @@
 #include <sys/mman.h>
 #include "pcm_direct.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #ifndef PIC
 /* entry for static linking */
 const char *_snd_module_pcm_dshare = "";
diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c
index 576c35b..26b6f5c 100644
--- a/src/pcm/pcm_dsnoop.c
+++ b/src/pcm/pcm_dsnoop.c
@@ -45,6 +45,10 @@
 #include <sys/mman.h>
 #include "pcm_direct.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #ifndef PIC
 /* entry for static linking */
 const char *_snd_module_pcm_dsnoop = "";
diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c
index 4f4b84b..de9f9d5 100644
--- a/src/pcm/pcm_hw.c
+++ b/src/pcm/pcm_hw.c
@@ -40,6 +40,10 @@
 #include "../control/control_local.h"
 #include "../timer/timer_local.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 //#define DEBUG_RW		/* use to debug readi/writei/readn/writen */
 //#define DEBUG_MMAP		/* debug mmap_commit */
 
diff --git a/src/pcm/pcm_ioplug.c b/src/pcm/pcm_ioplug.c
index 43550c0..bed1c97 100644
--- a/src/pcm/pcm_ioplug.c
+++ b/src/pcm/pcm_ioplug.c
@@ -31,6 +31,10 @@
 #include "pcm_ext_parm.h"
 #include "pcm_generic.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #ifndef PIC
 /* entry for static linking */
 const char *_snd_module_pcm_ioplug = "";
diff --git a/src/pcm/pcm_null.c b/src/pcm/pcm_null.c
index 5e63caa..9fe3c82 100644
--- a/src/pcm/pcm_null.c
+++ b/src/pcm/pcm_null.c
@@ -31,6 +31,10 @@
 #include "pcm_local.h"
 #include "pcm_plugin.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #ifndef PIC
 /* entry for static linking */
 const char *_snd_module_pcm_null = "";
diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
index c76db25..c08a2e8 100644
--- a/src/pcm/pcm_rate.c
+++ b/src/pcm/pcm_rate.c
@@ -36,6 +36,10 @@
 
 #include "plugin_ops.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #if 0
 #define DEBUG_REFINE
 #endif
diff --git a/src/pcm/pcm_share.c b/src/pcm/pcm_share.c
index 5d8aaf2..9fe8dc1 100644
--- a/src/pcm/pcm_share.c
+++ b/src/pcm/pcm_share.c
@@ -38,6 +38,10 @@
 #include <pthread.h>
 #include "pcm_local.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #ifndef PIC
 /* entry for static linking */
 const char *_snd_module_pcm_share = "";
diff --git a/src/pcm/pcm_shm.c b/src/pcm/pcm_shm.c
index a815ac6..242b26e 100644
--- a/src/pcm/pcm_shm.c
+++ b/src/pcm/pcm_shm.c
@@ -45,6 +45,10 @@
 #include <netdb.h>
 #include "aserver.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 #ifndef PIC
 /* entry for static linking */
 const char *_snd_module_pcm_shm = "";
diff --git a/src/pcm/pcm_simple.c b/src/pcm/pcm_simple.c
index ce11083..99ba1c3 100644
--- a/src/pcm/pcm_simple.c
+++ b/src/pcm/pcm_simple.c
@@ -25,6 +25,10 @@
 
 #include "pcm_local.h"
 
+#ifndef EBADFD
+#define EBADFD EBADF
+#endif
+
 static int set_buffer_time(snd_spcm_latency_t latency,
 			   unsigned int *buffer_time)
 {
-- 
2.7.1



More information about the Alsa-devel mailing list