diff --git a/util/semaphore.cc b/util/semaphore.cc
index d5c82be..e13ec53 100644
--- a/util/semaphore.cc
+++ b/util/semaphore.cc
@@ -12,28 +12,20 @@
 #if defined(OS_MACOSX)
 
 Semaphore::Semaphore(int count) {
-  kern_return_t result = semaphore_create(mach_task_self(), &native_handle_,
-                                          SYNC_POLICY_FIFO, count);
-  DCHECK_EQ(KERN_SUCCESS, result);
+  native_handle_ = dispatch_semaphore_create(count);
+  DCHECK(native_handle_);
 }
 
 Semaphore::~Semaphore() {
-  kern_return_t result = semaphore_destroy(mach_task_self(), native_handle_);
-  DCHECK_EQ(KERN_SUCCESS, result);
+  dispatch_release(native_handle_);
 }
 
 void Semaphore::Signal() {
-  kern_return_t result = semaphore_signal(native_handle_);
-  DCHECK_EQ(KERN_SUCCESS, result);
+  dispatch_semaphore_signal(native_handle_);
 }
 
 void Semaphore::Wait() {
-  while (true) {
-    kern_return_t result = semaphore_wait(native_handle_);
-    if (result == KERN_SUCCESS)
-      return;  // Semaphore was signalled.
-    DCHECK_EQ(KERN_ABORTED, result);
-  }
+  dispatch_semaphore_wait(native_handle_, DISPATCH_TIME_FOREVER);
 }
 
 #elif defined(OS_POSIX)
diff --git a/util/semaphore.h b/util/semaphore.h
index 92a1df6..2952cae 100644
--- a/util/semaphore.h
+++ b/util/semaphore.h
@@ -14,7 +14,7 @@
 #if defined(OS_WIN)
 #include <windows.h>
 #elif defined(OS_MACOSX)
-#include <mach/mach.h>
+#include <dispatch/dispatch.h>
 #elif defined(OS_POSIX)
 #include <semaphore.h>
 #else
@@ -34,11 +34,11 @@
   void Wait();
 
 #if defined(OS_MACOSX)
-  typedef semaphore_t NativeHandle;
+  using NativeHandle = dispatch_semaphore_t;
 #elif defined(OS_POSIX)
-  typedef sem_t NativeHandle;
+  using NativeHandle = sem_t;
 #elif defined(OS_WIN)
-  typedef HANDLE NativeHandle;
+  using NativeHandle = HANDLE;
 #endif
 
   NativeHandle& native_handle() { return native_handle_; }
