--- Modules/_multiprocessing/multiprocessing.h.orig	Thu Oct 24 19:36:06 2013
+++ Modules/_multiprocessing/multiprocessing.h	Thu Oct 24 19:41:44 2013
@@ -28,6 +28,16 @@
 #  define SEM_HANDLE HANDLE
 #  define SEM_VALUE_MAX LONG_MAX
 #else
+#ifdef __OpenBSD__
+#	include <sys/types.h>
+#	include <sys/ipc.h>
+#	include <sys/sem.h>
+#	include <sys/stat.h>
+#	include <limits.h>
+#	define SEM_HANDLE int
+#	undef SEM_VALUE_MAX
+#	define SEM_VALUE_MAX (SHRT_MAX >> 1)
+#else
 #  include <fcntl.h>                 /* O_CREAT and O_EXCL */
 #  include <netinet/in.h>
 #  include <sys/socket.h>
@@ -36,6 +46,7 @@
 #  if defined(HAVE_SEM_OPEN) && !defined(POSIX_SEMAPHORES_NOT_ENABLED)
 #    include <semaphore.h>
      typedef sem_t *SEM_HANDLE;
+#  endif
 #  endif
 #  define HANDLE int
 #  define SOCKET int
