Hi,
On Wed, Jul 17, 2013 at 10:08:14PM +0200, Johannes Schlatow wrote:
I was just trying to set up a simple application that uses L4Re namespaces. I therefore took the clntsrv example and modified it as shown in the diff below with the result that the server blocks on the bind_thread() call. Am I missing something?
Cheers Johannes
diff --git a/src/l4/pkg/examples/clntsrv/clntsrv.cfg b/src/l4/pkg/examples/clntsrv/clntsrv.cfg index bb2ae50..dd7dfa5 100644 --- a/src/l4/pkg/examples/clntsrv/clntsrv.cfg +++ b/src/l4/pkg/examples/clntsrv/clntsrv.cfg @@ -9,13 +9,16 @@ local ld = L4.default_loader; -- Channel for the two programs to talk to each other. local calc_server = ld:new_channel();
+local server_ns = ld:create_namespace({ calc_server = calc_server:svr()}); +local client_ns = ld:create_namespace({ calc_server = calc_server});
It's been a while since I tried to do something like this but IIRC an IPC-Gate Capability is automatically downgraded when you put it into a namespace. I.e. cal_server:svr() will not work and instead but the client side of the IPC-gate into the namespace.
Whether this is intential or not, I don't know.
regards Christian