cvs commit: src/sys/kern init_sysent.c kern_fork.c lwkt_caps.c syscalls.c syscalls.master src/sys/sys caps.h syscall-hide.h syscall.h syscall.mk sysproto.h sysunion.h
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Mar 6 14:15:14 PST 2004
dillon 2004/03/06 14:14:16 PST
DragonFly src repository
Modified files:
sys/kern init_sysent.c kern_fork.c lwkt_caps.c
syscalls.c syscalls.master
sys/sys caps.h syscall-hide.h syscall.h
syscall.mk sysproto.h sysunion.h
Log:
Additional CAPS IPC work. Add additional system calls to allow a CAPS
server to set a generation number and a CAPS client to query it, which can
be used for any purpose but which is intended to allow a server to tell its
clients to invalidate their caches.
Add missing fork-handling code. CAPS links are only good on a thread-by-thread
basis. When a process forks/rforks/clones any active CAPS links will be
created as dummy entries in the forked process, causing CAPS syscalls to
return ENOTCONN. This allows code based on CAPS to detect when it has been
forked so it can re-connect to the service.
Make a slight change to the API. caps_sys_put() now returns an immediate
ENOTCONN if it forked. Note that userland CAPS code must still deal with
the case where a message has been sent and the connection is lost before the
reply is returned. The kernel automatically replies unreplied messages
with 0-length data in these cases.
Add additional flags to the API, including one that allows a client to
block when connecting to a non-existant service.
Revision Changes Path
1.16 +3 -3 src/sys/kern/init_sysent.c
1.19 +2 -0 src/sys/kern/kern_fork.c
1.2 +139 -18 src/sys/kern/lwkt_caps.c
1.16 +3 -3 src/sys/kern/syscalls.c
1.12 +2 -2 src/sys/kern/syscalls.master
1.5 +9 -2 src/sys/sys/caps.h
1.17 +3 -1 src/sys/sys/syscall-hide.h
1.17 +3 -1 src/sys/sys/syscall.h
1.17 +3 -1 src/sys/sys/syscall.mk
1.17 +18 -1 src/sys/sys/sysproto.h
1.14 +3 -1 src/sys/sys/sysunion.h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/init_sysent.c.diff?r1=1.15&r2=1.16&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_fork.c.diff?r1=1.18&r2=1.19&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_caps.c.diff?r1=1.1&r2=1.2&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.c.diff?r1=1.15&r2=1.16&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.master.diff?r1=1.11&r2=1.12&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/caps.h.diff?r1=1.4&r2=1.5&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall-hide.h.diff?r1=1.16&r2=1.17&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall.h.diff?r1=1.16&r2=1.17&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall.mk.diff?r1=1.16&r2=1.17&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysproto.h.diff?r1=1.16&r2=1.17&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysunion.h.diff?r1=1.13&r2=1.14&f=h
More information about the Commits
mailing list