diff options
author | davidxu <davidxu@FreeBSD.org> | 2006-10-06 08:22:08 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2006-10-06 08:22:08 +0000 |
commit | c5bda619e9929f81e813f4e49d3b7baa9c4e23e0 (patch) | |
tree | 3bcafa939a8da46b5a3851c0e72cc6c21a14b15e /sys/kern/kern_umtx.c | |
parent | 25f4754ec5fe769440cd08f8bb0974188b77f801 (diff) | |
download | FreeBSD-src-c5bda619e9929f81e813f4e49d3b7baa9c4e23e0.zip FreeBSD-src-c5bda619e9929f81e813f4e49d3b7baa9c4e23e0.tar.gz |
Implement 32bit umtx_lock and umtx_unlock system calls, these two system
calls are not used by libthr in RELENG_6 and HEAD, it is only used by
the libthr in RELENG-5, the _umtx_op system call can do more incremental
dirty works than these two system calls without having to introduce new
system calls or throw away old system calls when things are going on.
Diffstat (limited to 'sys/kern/kern_umtx.c')
-rw-r--r-- | sys/kern/kern_umtx.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index 0cff693..4c7f9d7 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -2303,6 +2303,20 @@ _umtx_op(struct thread *td, struct _umtx_op_args *uap) #ifdef COMPAT_IA32 +int +freebsd32_umtx_lock(struct thread *td, struct freebsd32_umtx_lock_args *uap) + /* struct umtx *umtx */ +{ + return (do_lock_umtx32(td, (uint32_t *)uap->umtx, td->td_tid, NULL)); +} + +int +freebsd32_umtx_unlock(struct thread *td, struct freebsd32_umtx_unlock_args *uap) + /* struct umtx *umtx */ +{ + return (do_unlock_umtx32(td, (uint32_t *)uap->umtx, td->td_tid)); +} + struct timespec32 { u_int32_t tv_sec; u_int32_t tv_nsec; |