summaryrefslogtreecommitdiff
path: root/emu/port
diff options
context:
space:
mode:
Diffstat (limited to 'emu/port')
-rw-r--r--emu/port/kproc-pthreads.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/emu/port/kproc-pthreads.c b/emu/port/kproc-pthreads.c
index a15a7cd3..c6caded6 100644
--- a/emu/port/kproc-pthreads.c
+++ b/emu/port/kproc-pthreads.c
@@ -122,6 +122,12 @@ kproc(char *name, void (*func)(void*), void *arg, int flags)
panic("kproc: no memory");
os->self = 0; /* set by tramp */
sem_init(&os->sem, 0, 0);
+#if defined(__NetBSD__) && defined(__powerpc__)
+ { /* XXX: Work around a problem on macppc with kernel semaphores. */
+ int val;
+ sem_getvalue(&os->sem, &val);
+ }
+#endif
p->os = os;
if(flags & KPDUPPG) {