This patch adds ipc_sendrecv() and opens the way for client/server communication.

ipc_sendrecv() replaces ipc_sendwait() which was flawed. See ipc_sendrecv() for
how client/server communication works. Tested with page faults where the kernel
does an ipc_sendrecv() to faulty thread's pager and the pager successfully handles
the request, and returns back the result, which effectively restarts the faulty
thread.
This commit is contained in:
Bahadir Balban
2008-02-04 21:03:51 +00:00
parent 13ee470a33
commit 70d5ff33cd
5 changed files with 29 additions and 34 deletions

View File

@@ -16,7 +16,8 @@
#if defined (__KERNEL__) /* These are kernel internal calls */
/* A helper call for sys_ipc() or internally created ipc paths. */
int ipc_send(l4id_t tid);
int ipc_send(l4id_t to);
int ipc_sendrecv(l4id_t to, l4id_t from);
/*
* This version sends an extra wait ipc to its receiver so that