]> Zhao Yanbai Git Server - minix.git/commit
IPC status code for receive().
authorCristiano Giuffrida <cristiano@minix3.org>
Tue, 23 Mar 2010 00:09:11 +0000 (00:09 +0000)
committerCristiano Giuffrida <cristiano@minix3.org>
Tue, 23 Mar 2010 00:09:11 +0000 (00:09 +0000)
commitbde2109b7c21f3bed0ffa49e410f78cef6dd374b
tree4cae1e4204f754a1a160f1e791f84d1cc5d0a856
parent45db6482e81e0774aac1e71bb8960f1cc7325854
IPC status code for receive().

IPC changes:
- receive() is changed to take an additional parameter, which is a pointer to
a status code.
- The status code is filled in by the kernel to provide additional information
to the caller. For now, the kernel only fills in the IPC call used by the
sender.

Syslib changes:
- sef_receive() has been split into sef_receive() (with the original semantics)
and sef_receive_status() which exposes the status code to userland.
- Ideally, every sys process should gradually switch to sef_receive_status()
and use is_ipc_notify() as a dependable way to check for notify.
- SEF has been modified to use is_ipc_notify() and demonstrate how to use the
new status code.
12 files changed:
include/Makefile
include/minix/com.h
include/minix/ipc.h
include/minix/ipcconst.h [new file with mode: 0644]
include/minix/sef.h
kernel/ipc.h
kernel/proc.c
lib/libc/arch/i386/rts/_ipc.S
lib/libc/arch/i386/rts/_senda.S
lib/libsys/sef.c
lib/libsys/tickdelay.c
servers/rs/main.c