]> code.delx.au - pulseaudio/commitdiff
once.c is no longer POSIX specific. Since it is now considerably more advanced than...
authorLennart Poettering <lennart@poettering.net>
Mon, 17 Sep 2007 13:50:13 +0000 (13:50 +0000)
committerLennart Poettering <lennart@poettering.net>
Mon, 17 Sep 2007 13:50:13 +0000 (13:50 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1841 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/Makefile.am
src/daemon/main.c
src/pulsecore/once-win32.c [deleted file]
src/pulsecore/once.c [moved from src/pulsecore/once-posix.c with 100% similarity]

index d9933a0ba19a9baab30e3cbede998fa8eebddf95..95a0e9284b935a983167501ce404ca343ce2afcf 100644 (file)
@@ -77,15 +77,11 @@ endif
 
 if OS_IS_WIN32
 PA_THREAD_OBJS = \
-               pulsecore/once-win32.c pulsecore/once.h \
                pulsecore/mutex-win32.c pulsecore/mutex.h \
                pulsecore/thread-win32.c pulsecore/thread.h \
-               pulsecore/semaphore.h
-#pulsecore/semaphore-win32.c pulsecore/semaphore.h
+               pulsecore/semaphore-win32.c pulsecore/semaphore.h
 else
 PA_THREAD_OBJS = \
-               pulsecore/atomic.h \
-               pulsecore/once-posix.c pulsecore/once.h \
                pulsecore/mutex-posix.c pulsecore/mutex.h \
                pulsecore/thread-posix.c pulsecore/thread.h \
                pulsecore/semaphore-posix.c pulsecore/semaphore.h
@@ -496,6 +492,7 @@ libpulse_la_SOURCES += \
                pulsecore/flist.c pulsecore/flist.h \
                pulsecore/object.c pulsecore/object.h \
                pulsecore/msgobject.c pulsecore/msgobject.h \
+               pulsecore/once.c pulsecore/once.h \
                $(PA_THREAD_OBJS)
 
 if OS_IS_WIN32
@@ -706,6 +703,7 @@ libpulsecore_la_SOURCES += \
                pulsecore/rtpoll.c pulsecore/rtpoll.h \
                pulsecore/rtclock.c pulsecore/rtclock.h \
                pulsecore/macro.h \
+               pulsecore/once.c pulsecore/once.h \
                $(PA_THREAD_OBJS)
 
 if OS_IS_WIN32
index c446582e81aa5b58d59262b33c973d00e850391a..ba2a33d59b7619f5315f587cc9b2178a401c5438 100644 (file)
@@ -320,7 +320,6 @@ int main(int argc, char *argv[]) {
     int daemon_pipe[2] = { -1, -1 };
     int suid_root, real_root;
     int valid_pid_file = 0;
-
     gid_t gid = (gid_t) -1;
 
 #ifdef OS_IS_WIN32
diff --git a/src/pulsecore/once-win32.c b/src/pulsecore/once-win32.c
deleted file mode 100644 (file)
index b30097c..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* $Id$ */
-
-/***
-  This file is part of PulseAudio.
-
-  Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
-
-  PulseAudio is free software; you can redistribute it and/or modify
-  it under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2 of the License,
-  or (at your option) any later version.
-
-  PulseAudio is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with PulseAudio; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-  USA.
-***/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <assert.h>
-#include <stdio.h>
-
-#include <windows.h>
-
-#include <pulsecore/mutex.h>
-
-#include "once.h"
-
-void pa_once(pa_once_t *control, pa_once_func_t func) {
-    HANDLE mutex;
-    char name[64];
-
-    assert(control);
-    assert(func);
-
-    /* Create the global mutex */
-    sprintf(name, "pulse%d", (int)GetCurrentProcessId());
-
-    mutex = CreateMutex(NULL, FALSE, name);
-    assert(mutex);
-
-    /* Create the local mutex */
-    WaitForSingleObject(mutex, INFINITE);
-    if (!control->mutex)
-        control->mutex = pa_mutex_new(1);
-    ReleaseMutex(mutex);
-
-    CloseHandle(mutex);
-
-    /* Execute function */
-    pa_mutex_lock(control->mutex);
-    if (!control->once_value) {
-        control->once_value = 1;
-        func();
-    }
-    pa_mutex_unlock(control->mutex);
-
-    /* Caveat: We have to make sure that the once func has completed
-     * before returning, even if the once func is not actually
-     * executed by us. Hence the awkward locking. */
-}