cvs commit: src/sys/sys proc.h syscall.h syscall.mk sysproto.h umtx.h src/sys/kern init_sysent.c kern_umtx.c syscalls.c syscalls.master

David Xu davidxu at freebsd.org
Sun Jul 3 00:58:32 GMT 2005


I have a demo program there to explain the shared umtx
feature:
http://people.freebsd.org/~davidxu/umtx_cond.c

David Xu wrote:

>davidxu     2004-12-18 12:52:45 UTC
>
>  FreeBSD src repository
>
>  Modified files:
>    sys/sys              proc.h syscall.h syscall.mk sysproto.h 
>                         umtx.h 
>    sys/kern             init_sysent.c kern_umtx.c syscalls.c 
>                         syscalls.master 
>  Log:
>  1. make umtx sharable between processes, the way is two or more processes
>     call mmap() to create a shared space, and then initialize umtx on it,
>     after that, each thread in different processes can use the umtx same
>     as threads in same process.
>  2. introduce a new syscall _umtx_op to support timed lock and condition
>     variable semantics. also, orignal umtx_lock and umtx_unlock inline
>     functions now are reimplemented by using _umtx_op, the _umtx_op can
>     use arbitrary id not just a thread id.
> 
>



More information about the cvs-src mailing list