aboutsummaryrefslogtreecommitdiff
path: root/src/libthread
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-01-07 07:47:37 +0000
committerrsc <devnull@localhost>2005-01-07 07:47:37 +0000
commitc345061e8d81a737b2926da7ecad4b4389677fe8 (patch)
tree03120c5dab13a5536181f5666f679d460eccd8e5 /src/libthread
parent190857f93ec5743f7c3209ac8544440b3cedfcee (diff)
downloadplan9port-c345061e8d81a737b2926da7ecad4b4389677fe8.tar.gz
plan9port-c345061e8d81a737b2926da7ecad4b4389677fe8.tar.bz2
plan9port-c345061e8d81a737b2926da7ecad4b4389677fe8.zip
sunos fixes
Diffstat (limited to 'src/libthread')
-rw-r--r--src/libthread/pthread.c6
-rw-r--r--src/libthread/sysofiles.sh8
2 files changed, 10 insertions, 4 deletions
diff --git a/src/libthread/pthread.c b/src/libthread/pthread.c
index 38eb7d78..dbeda7e4 100644
--- a/src/libthread/pthread.c
+++ b/src/libthread/pthread.c
@@ -74,7 +74,7 @@ _procwakeupandunlock(_Procrendez *r)
r->asleep = 0;
pthread_cond_signal(&r->cond);
}
- unlock(&r->l);
+ unlock(r->l);
}
static void
@@ -85,7 +85,7 @@ startprocfn(void *v)
Proc *p;
a = (void**)v;
- fn = a[0];
+ fn = (void(*)(void*))a[0];
p = a[1];
free(a);
p->osprocid = pthread_self();
@@ -104,7 +104,7 @@ _procstart(Proc *p, void (*fn)(Proc*))
a = malloc(2*sizeof a[0]);
if(a == nil)
sysfatal("_procstart malloc: %r");
- a[0] = fn;
+ a[0] = (void*)fn;
a[1] = p;
if(pthread_create(&p->osprocid, nil, (void*(*)(void*))startprocfn, (void*)a) < 0){
diff --git a/src/libthread/sysofiles.sh b/src/libthread/sysofiles.sh
index 7734f776..83b83556 100644
--- a/src/libthread/sysofiles.sh
+++ b/src/libthread/sysofiles.sh
@@ -8,7 +8,13 @@ case "$tag" in
*-FreeBSD-5.*)
echo pthread.o
;;
-*)
+*-Linux-*)
+ echo `uname`.o `uname`asm.o
+ ;;
+*-FreeBSD-*)
echo `uname`.o `uname`asm.o
+ ;;
+*)
+ echo pthread.o
esac