]> code.delx.au - pulseaudio/commitdiff
Assorted minor Windows compatibility fixes for recent code updates.
authorPierre Ossman <ossman@cendio.se>
Wed, 3 Oct 2007 14:47:26 +0000 (14:47 +0000)
committerPierre Ossman <ossman@cendio.se>
Wed, 3 Oct 2007 14:47:26 +0000 (14:47 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1928 fefdeb5f-60dc-0310-8127-8f9354f1896f

15 files changed:
configure.ac
libltdl/config.h
src/Makefile.am
src/pulsecore/authkey.c
src/pulsecore/core-util.c
src/pulsecore/fdsem.c
src/pulsecore/ioline.c
src/pulsecore/mutex-win32.c
src/pulsecore/once.c
src/pulsecore/pid.c
src/pulsecore/rtsig.h
src/pulsecore/sound-file-stream.c
src/pulsecore/sound-file.c
src/pulsecore/thread-win32.c
src/pulsecore/winsock.h

index 152cd51ad2f164a29f9906c3c75d9bfc849a3bab..cf9069a1ac14a9db1c2c32105c560710b6ef0215 100644 (file)
@@ -219,6 +219,7 @@ AC_CHECK_HEADERS([windows.h winsock2.h ws2tcpip.h])
 # Other
 AC_CHECK_HEADERS([sys/ioctl.h])
 AC_CHECK_HEADERS([byteswap.h])
+AC_CHECK_HEADERS([sys/syscall.h])
 
 #### Typdefs, structures, etc. ####
 
index a04820a7aa53462cd125268f66dceb2e8d91aa10..a4186d9a6b417ce4e2faf5db1d8bdbbd16d87475 100644 (file)
@@ -2,22 +2,22 @@
 /* config-h.in.  Generated from configure.ac by autoheader.  */
 
 /* Define to 1 if you have the `argz_append' function. */
-#define HAVE_ARGZ_APPEND 1
+/* #undef HAVE_ARGZ_APPEND */
 
 /* Define to 1 if you have the `argz_create_sep' function. */
-#define HAVE_ARGZ_CREATE_SEP 1
+/* #undef HAVE_ARGZ_CREATE_SEP */
 
 /* Define to 1 if you have the <argz.h> header file. */
-#define HAVE_ARGZ_H 1
+/* #undef HAVE_ARGZ_H */
 
 /* Define to 1 if you have the `argz_insert' function. */
-#define HAVE_ARGZ_INSERT 1
+/* #undef HAVE_ARGZ_INSERT */
 
 /* Define to 1 if you have the `argz_next' function. */
-#define HAVE_ARGZ_NEXT 1
+/* #undef HAVE_ARGZ_NEXT */
 
 /* Define to 1 if you have the `argz_stringify' function. */
-#define HAVE_ARGZ_STRINGIFY 1
+/* #undef HAVE_ARGZ_STRINGIFY */
 
 /* Define to 1 if you have the <assert.h> header file. */
 #define HAVE_ASSERT_H 1
 /* #undef HAVE_DLD_H */
 
 /* Define to 1 if you have the `dlerror' function. */
-#define HAVE_DLERROR 1
+/* #undef HAVE_DLERROR */
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
+/* #undef HAVE_DLFCN_H */
 
 /* Define to 1 if you have the <dl.h> header file. */
 /* #undef HAVE_DL_H */
@@ -57,7 +57,7 @@
 #define HAVE_ERRNO_H 1
 
 /* Define to 1 if the system has the type `error_t'. */
-#define HAVE_ERROR_T 1
+/* #undef HAVE_ERROR_T */
 
 /* Define to 1 if you have the `index' function. */
 /* #undef HAVE_INDEX */
@@ -66,7 +66,7 @@
 #define HAVE_INTTYPES_H 1
 
 /* Define if you have the libdl library or equivalent. */
-#define HAVE_LIBDL 1
+/* #undef HAVE_LIBDL */
 
 /* Define to 1 if you have the <mach-o/dyld.h> header file. */
 /* #undef HAVE_MACH_O_DYLD_H */
 #define HAVE_UNISTD_H 1
 
 /* Define if the OS needs help to load dependent libraries for dlopen(). */
-/* #undef LTDL_DLOPEN_DEPLIBS */
+#define LTDL_DLOPEN_DEPLIBS 1
 
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
 
 /* Define to the name of the environment variable that determines the dynamic
    library search path. */
-#define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH"
+#define LTDL_SHLIBPATH_VAR "PATH"
 
 /* Define to the extension used for shared libraries, say, ".so". */
-#define LTDL_SHLIB_EXT ".so"
+#define LTDL_SHLIB_EXT ".dll"
 
 /* Define to the system default library search path. */
-#define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/usr/lib/atlas:/usr/local/lib:/lib/i486-linux-gnu:/usr/lib/i486-linux-gnu:/usr/local/lib"
+#define LTDL_SYSSEARCHPATH "/lib:/usr/lib"
 
 /* Define if dlsym() requires a leading underscore in symbol names. */
 /* #undef NEED_USCORE */
 /* #undef const */
 
 /* Define to a type to use for `error_t' if it is not otherwise available. */
-/* #undef error_t */
+#define error_t int
 
 /* Define to `__inline__' or `__inline' if that's what the C compiler
    calls it, or to nothing if 'inline' is not supported under any name.  */
index e1d210b0d14075f341fcb14b47e2dbed5073bd15..98e78745025419a5d071c326469abd802c8fcbf6 100644 (file)
@@ -78,8 +78,8 @@ endif
 if OS_IS_WIN32
 PA_THREAD_OBJS = \
                pulsecore/mutex-win32.c pulsecore/mutex.h \
-               pulsecore/thread-win32.c pulsecore/thread.h
-#              pulsecore/semaphore-win32.c pulsecore/semaphore.h
+               pulsecore/thread-win32.c pulsecore/thread.h \
+               pulsecore/semaphore-win32.c pulsecore/semaphore.h
 else
 PA_THREAD_OBJS = \
                pulsecore/mutex-posix.c pulsecore/mutex.h \
index 4d9bfd3a99af5de00492a6bf25c7e190a1f3c5e5..d422d6a2671b669777e093b371f6a60731531731 100644 (file)
@@ -71,6 +71,10 @@ static int generate(int fd, void *ret_data, size_t length) {
 #define O_BINARY 0
 #endif
 
+#ifndef O_NOCTTY
+#define O_NOCTTY 0
+#endif
+
 /* Load an euthorization cookie from file fn and store it in data. If
  * the cookie file doesn't exist, create it */
 static int load(const char *fn, void *data, size_t length) {
index 3defe2bc3a4e2f91e5ba3a6779d69fd54caa8c91..a644b6642c87ba093d8cc7725377aeebcfb4921c 100644 (file)
@@ -653,13 +653,21 @@ const char *pa_sig2str(int sig) {
         case SIGHUP:    return "SIGHUP";
 #endif
         case SIGINT:    return "SIGINT";
+#ifdef SIGQUIT
         case SIGQUIT:   return "SIGQUIT";
+#endif
         case SIGILL:    return "SIGULL";
+#ifdef SIGTRAP
         case SIGTRAP:   return "SIGTRAP";
+#endif
         case SIGABRT:   return "SIGABRT";
+#ifdef SIGBUS
         case SIGBUS:    return "SIGBUS";
+#endif
         case SIGFPE:    return "SIGFPE";
+#ifdef SIGKILL
         case SIGKILL:   return "SIGKILL";
+#endif
 #ifdef SIGUSR1
         case SIGUSR1:   return "SIGUSR1";
 #endif
@@ -670,30 +678,58 @@ const char *pa_sig2str(int sig) {
 #ifdef SIGPIPE
         case SIGPIPE:   return "SIGPIPE";
 #endif
+#ifdef SIGALRM
         case SIGALRM:   return "SIGALRM";
+#endif
         case SIGTERM:   return "SIGTERM";
+#ifdef SIGSTKFLT
         case SIGSTKFLT: return "SIGSTKFLT";
+#endif
 #ifdef SIGCHLD
         case SIGCHLD:   return "SIGCHLD";
 #endif
+#ifdef SIGCONT
         case SIGCONT:   return "SIGCONT";
+#endif
+#ifdef SIGSTOP
         case SIGSTOP:   return "SIGSTOP";
+#endif
+#ifdef SIGTSTP
         case SIGTSTP:   return "SIGTSTP";
+#endif
+#ifdef SIGTTIN
         case SIGTTIN:   return "SIGTTIN";
+#endif
+#ifdef SIGTTOU
         case SIGTTOU:   return "SIGTTOU";
+#endif
+#ifdef SIGURG
         case SIGURG:    return "SIGURG";
+#endif
 #ifdef SIGXCPU
         case SIGXCPU:   return "SIGXCPU";
 #endif
 #ifdef SIGXFSZ
         case SIGXFSZ:   return "SIGXFSZ";
 #endif
+#ifdef SIGVTALRM
         case SIGVTALRM: return "SIGVTALRM";
+#endif
+#ifdef SIGPROF
         case SIGPROF:   return "SIGPROF";
+#endif
+#ifdef SIGWINCH
         case SIGWINCH:  return "SIGWINCH";
+#endif
+#ifdef SIGIO
         case SIGIO:     return "SIGIO";
+#endif
+#ifdef SIGPWR
         case SIGPWR:    return "SIGPWR";
+#endif
+#ifdef SIGSYS
         case SIGSYS:    return "SIGSYS";
+#endif
     }
 
 #ifdef SIGRTMIN
@@ -943,7 +979,10 @@ int pa_lock_lockfile(const char *fn) {
     for (;;) {
         struct stat st;
 
-        if ((fd = open(fn, O_CREAT|O_RDWR|O_NOCTTY
+        if ((fd = open(fn, O_CREAT|O_RDWR
+#ifdef O_NOCTTY
+                       |O_NOCTTY
+#endif
 #ifdef O_NOFOLLOW
                        |O_NOFOLLOW
 #endif
@@ -1431,6 +1470,7 @@ void *pa_will_need(const void *p, size_t l) {
 
     pa_log_debug("posix_madvise() failed (or doesn't exist), trying mlock(): %s", pa_cstrerror(r));
 
+#ifdef HAVE_MLOCK
     while (size > 0 && bs > 0) {
 
         if (bs > size)
@@ -1446,9 +1486,10 @@ void *pa_will_need(const void *p, size_t l) {
         a = (const uint8_t*) a + bs;
         size -= bs;
     }
+#endif
 
     if (bs <= 0)
-        pa_log_debug("mlock() failed too, giving up: %s", pa_cstrerror(errno));
+        pa_log_debug("mlock() failed too (or doesn't exist), giving up: %s", pa_cstrerror(errno));
     else
         pa_log_debug("mlock() worked fine!");
 
index b919ba41ce5fa07bccf8edd2ff244fa291de3032..927bf00c2e6409ffb6b5f12abd8ddc9438b1c013 100644 (file)
 #include <config.h>
 #endif
 
+#ifdef HAVE_SYS_SYSCALL_H
 #include <sys/syscall.h>
+#endif
+
 #include <unistd.h>
 #include <errno.h>
 
 #include <pulsecore/core-util.h>
 #include <pulse/xmalloc.h>
 
+#ifndef HAVE_PIPE
+#include <pulsecore/pipe.h>
+#endif
+
 #ifdef __linux__
 
 #if !defined(__NR_eventfd) && defined(__i386__)
index a36270037279bae5b34af47eea58c83ec44aede8..efb507221ca16b4c9c14edee104977ecb29153ae 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <pulse/xmalloc.h>
 
+#include <pulsecore/winsock.h>
 #include <pulsecore/core-error.h>
 #include <pulsecore/log.h>
 #include <pulsecore/macro.h>
index 1f16e24c7f2db3ece634af12fbb40a8d77107c0b..77d63d15904311457fd8fd9bbcc130e3d80982fa 100644 (file)
@@ -40,7 +40,7 @@ struct pa_cond {
     pa_hashmap *wait_events;
 };
 
-pa_mutex* pa_mutex_new(int recursive) {
+pa_mutex* pa_mutex_new(pa_bool_t recursive, pa_bool_t inherit_priority) {
     pa_mutex *m;
 
     m = pa_xnew(pa_mutex, 1);
index 4f6e5b62c3c571b1b60626b63ca69c3d65c3a3b0..198bd41e6cba43fc35613cfbd3d010018f9ba213 100644 (file)
@@ -25,8 +25,6 @@
 #include <config.h>
 #endif
 
-#include <pthread.h>
-
 #include <pulsecore/macro.h>
 #include <pulsecore/mutex.h>
 
index 38d2681479164bc3e7c3a0c9e0c9f5c361ade2f5..55ff2088b1a307b24d9152c3d530b2af4dc1a851 100644 (file)
@@ -88,7 +88,10 @@ static int open_pid_file(const char *fn, int mode) {
     for (;;) {
         struct stat st;
 
-        if ((fd = open(fn, mode|O_NOCTTY
+        if ((fd = open(fn, mode
+#ifdef O_NOCTTY
+                       |O_NOCTTY
+#endif
 #ifdef O_NOFOLLOW
                        |O_NOFOLLOW
 #endif
index 48f5f050b88033772e3bd6de8d0baa485c73af75..7830d272a9d06c945403417163f7c89758526bac 100644 (file)
@@ -24,9 +24,6 @@
   USA.
 ***/
 
-#include <poll.h>
-#include <sys/types.h>
-
 /* Return the next unused POSIX Realtime signals */
 int pa_rtsig_get(void);
 
index 6c70c4f1aec17dda5091e6d86f5dc554485e4e2d..d9f11a265fdc170ba098f592c38f90e6f2299390 100644 (file)
@@ -244,7 +244,11 @@ int pa_play_file(
 
     memset(&sfinfo, 0, sizeof(sfinfo));
 
-    if ((fd = open(fname, O_RDONLY|O_NOCTTY)) < 0) {
+    if ((fd = open(fname, O_RDONLY
+#ifdef O_NOCTTY
+                   |O_NOCTTY
+#endif
+                   )) < 0) {
         pa_log("Failed to open file %s: %s", fname, pa_cstrerror(errno));
         goto fail;
     }
index b1c509f25474d2133a4566004c88399e4b027fdb..503529309e5623dc2300af286ca0032661c7afb2 100644 (file)
@@ -63,7 +63,11 @@ int pa_sound_file_load(
     pa_memchunk_reset(chunk);
     memset(&sfinfo, 0, sizeof(sfinfo));
 
-    if ((fd = open(fname, O_RDONLY|O_NOCTTY)) < 0) {
+    if ((fd = open(fname, O_RDONLY
+#ifdef O_NOCTTY
+                   |O_NOCTTY
+#endif
+                   )) < 0) {
         pa_log("Failed to open file %s: %s", fname, pa_cstrerror(errno));
         goto finish;
     }
index 46d273b4148bdf455ae3a551092c5a70bd3fdbfb..cad1420a783e177f9287614041759f5cceb775c8 100644 (file)
@@ -53,9 +53,8 @@ struct pa_tls_monitor {
 };
 
 static pa_tls *thread_tls;
-static pa_once_t thread_tls_once = PA_ONCE_INIT;
+static pa_once thread_tls_once = PA_ONCE_INIT;
 static pa_tls *monitor_tls;
-static pa_once_t monitor_tls_once = PA_ONCE_INIT;
 
 static void thread_tls_once_func(void) {
     thread_tls = pa_tls_new(NULL);
@@ -66,7 +65,7 @@ static DWORD WINAPI internal_thread_func(LPVOID param) {
     pa_thread *t = param;
     assert(t);
 
-    pa_once(&thread_tls_once, thread_tls_once_func);
+    pa_run_once(&thread_tls_once, thread_tls_once_func);
     pa_tls_set(thread_tls, t);
 
     t->thread_func(t->userdata);
@@ -122,7 +121,7 @@ int pa_thread_join(pa_thread *t) {
 }
 
 pa_thread* pa_thread_self(void) {
-    pa_once(&thread_tls_once, thread_tls_once_func);
+    pa_run_once(&thread_tls_once, thread_tls_once_func);
     return pa_tls_get(thread_tls);
 }
 
@@ -130,12 +129,6 @@ void pa_thread_yield(void) {
     Sleep(0);
 }
 
-static void monitor_tls_once_func(void) {
-    monitor_tls = pa_tls_new(NULL);
-    assert(monitor_tls);
-    pa_tls_set(monitor_tls, NULL);
-}
-
 static DWORD WINAPI monitor_thread_func(LPVOID param) {
     struct pa_tls_monitor *m = param;
     assert(m);
@@ -191,7 +184,11 @@ void *pa_tls_set(pa_tls *t, void *userdata) {
     if (t->free_func) {
         struct pa_tls_monitor *m;
 
-        pa_once(&monitor_tls_once, monitor_tls_once_func);
+        PA_ONCE_BEGIN {
+            monitor_tls = pa_tls_new(NULL);
+            assert(monitor_tls);
+            pa_tls_set(monitor_tls, NULL);
+        } PA_ONCE_END;
 
         m = pa_tls_get(monitor_tls);
         if (!m) {
index ae868b384767ae5ba33f3abf1dad2e979bae74e6..0352bf4d42d7162a9795ca86c96740ac3a726ab1 100644 (file)
@@ -15,6 +15,8 @@
 #define EHOSTUNREACH    WSAEHOSTUNREACH
 #define EWOULDBLOCK     WSAEWOULDBLOCK
 
+typedef long suseconds_t;
+
 #endif
 
 #ifdef HAVE_WS2TCPIP_H