Bug 1342843 - Enable CrossProcessSemaphore on all BSDs. r?mattwoodrow
MozReview-Commit-ID: AawHoWsctp2
--- a/ipc/glue/CrossProcessSemaphore.h
+++ b/ipc/glue/CrossProcessSemaphore.h
@@ -6,17 +6,17 @@
#ifndef mozilla_CrossProcessSemaphore_h
#define mozilla_CrossProcessSemaphore_h
#include "base/process.h"
#include "mozilla/TimeStamp.h"
#include "mozilla/Maybe.h"
-#if !defined(OS_WIN) && !defined(OS_NETBSD) && !defined(OS_OPENBSD) && !defined(OS_MACOSX)
+#if !defined(OS_WIN) && !defined(OS_MACOSX)
#include <pthread.h>
#include <semaphore.h>
#include "SharedMemoryBasic.h"
#include "mozilla/Atomics.h"
#endif
namespace IPC {
template<typename T>
@@ -25,17 +25,17 @@ struct ParamTraits;
//
// Provides:
//
// - CrossProcessSemaphore, a semaphore that can be shared across processes
namespace mozilla {
#if defined(OS_WIN)
typedef HANDLE CrossProcessSemaphoreHandle;
-#elif !defined(OS_NETBSD) && !defined(OS_OPENBSD) && !defined(OS_MACOSX)
+#elif !defined(OS_MACOSX)
typedef mozilla::ipc::SharedMemoryBasic::Handle CrossProcessSemaphoreHandle;
#else
// Stub for other platforms. We can't use uintptr_t here since different
// processes could disagree on its size.
typedef uintptr_t CrossProcessSemaphoreHandle;
#endif
class CrossProcessSemaphore
@@ -81,17 +81,17 @@ private:
friend struct IPC::ParamTraits<CrossProcessSemaphore>;
CrossProcessSemaphore();
CrossProcessSemaphore(const CrossProcessSemaphore&);
CrossProcessSemaphore &operator=(const CrossProcessSemaphore&);
#if defined(OS_WIN)
HANDLE mSemaphore;
-#elif !defined(OS_NETBSD) && !defined(OS_OPENBSD) && !defined(OS_MACOSX)
+#elif !defined(OS_MACOSX)
RefPtr<mozilla::ipc::SharedMemoryBasic> mSharedBuffer;
sem_t* mSemaphore;
mozilla::Atomic<int32_t>* mRefCount;
#endif
};
} // namespace mozilla
--- a/ipc/glue/moz.build
+++ b/ipc/glue/moz.build
@@ -81,17 +81,17 @@ else:
UNIFIED_SOURCES += [
'CrossProcessMutex_unimplemented.cpp',
]
if CONFIG['OS_ARCH'] == 'WINNT':
SOURCES += [
'CrossProcessSemaphore_windows.cpp',
]
-elif not CONFIG['OS_ARCH'] in ('NetBSD', 'OpenBSD', 'Darwin'):
+elif CONFIG['OS_ARCH'] != 'Darwin':
UNIFIED_SOURCES += [
'CrossProcessSemaphore_posix.cpp',
]
else:
UNIFIED_SOURCES += [
'CrossProcessSemaphore_unimplemented.cpp',
]