summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2004-07-02 00:40:07 +0000
committermarcel <marcel@FreeBSD.org>2004-07-02 00:40:07 +0000
commit622fe058c99b4a6cac2805c8352c92b4330882f9 (patch)
tree9c8400ddc4d640b6eb03f81ba5983718f183b0e0 /sys/compat
parente84fdd61ba2c15de745151bb597597aed2b690ed (diff)
downloadFreeBSD-src-622fe058c99b4a6cac2805c8352c92b4330882f9.zip
FreeBSD-src-622fe058c99b4a6cac2805c8352c92b4330882f9.tar.gz
Change the thread ID (thr_id_t) used for 1:1 threading from being a
pointer to the corresponding struct thread to the thread ID (lwpid_t) assigned to that thread. The primary reason for this change is that libthr now internally uses the same ID as the debugger and the kernel when referencing to a kernel thread. This allows us to implement the support for debugging without additional translations and/or mappings. To preserve the ABI, the 1:1 threading syscalls, including the umtx locking API have not been changed to work on a lwpid_t. Instead the 1:1 threading syscalls operate on long and the umtx locking API has not been changed except for the contested bit. Previously this was the least significant bit. Now it's the most significant bit. Since the contested bit should not be tested by userland, this change is not expected to be visible. Just to be sure, UMTX_CONTESTED has been removed from <sys/umtx.h>. Reviewed by: mtm@ ABI preservation tested on: i386, ia64
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/syscalls.master8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master
index 6f0631f..b2abd20 100644
--- a/sys/compat/freebsd32/syscalls.master
+++ b/sys/compat/freebsd32/syscalls.master
@@ -595,10 +595,10 @@
428 UNIMPL __acl_aclcheck_link
; XXX implement
429 UNIMPL sigwait
-430 MNOPROTO { int thr_create(ucontext_t *ctx, thr_id_t *id, int flag s); }
+430 MNOPROTO { int thr_create(ucontext_t *ctx, long *id, int flag s); }
431 MNOPROTO { void thr_exit(void); }
-432 MNOPROTO { int thr_self(thr_id_t *id); }
-433 MNOPROTO { int thr_kill(thr_id_t id, int sig); }
+432 MNOPROTO { int thr_self(long *id); }
+433 MNOPROTO { int thr_kill(long id, int sig); }
434 MNOPROTO { int _umtx_lock(struct umtx *umtx); }
435 MNOPROTO { int _umtx_unlock(struct umtx *umtx); }
436 MNOPROTO { int jail_attach(int jid); }
@@ -608,4 +608,4 @@
440 UNIMPL kse_switchin
441 UNIMPL ksem_timedwait
442 MNOPROTO { int thr_suspend(const struct timespec *timeout); }
-443 MNOPROTO { int thr_wake(thr_id_t id); }
+443 MNOPROTO { int thr_wake(long id); }
OpenPOWER on IntegriCloud