summaryrefslogtreecommitdiff
path: root/node.c
diff options
context:
space:
mode:
authorSergiu Ivanov <unlimitedscolobb@gmail.com>2009-02-20 18:43:57 +0200
committerSergiu Ivanov <unlimitedscolobb@gmail.com>2009-02-20 18:43:57 +0200
commit2fc7f8c49fc34cd2db65c36400200082a62138a1 (patch)
tree0ec2e55368532c8a12cfae9650cf211c63fc7e50 /node.c
parent0a878aaf9fadb891a6067f8f084baa8ca5c30521 (diff)
Dynamic translator stacks are set in series of retries
When a client wants nsmux to set several translators on a node using a syntax like ``file,,x,,y'', nsmux sets the first translator on a shadow node mirroring ``file'' and punts a retry to the client. The client (commonly) does the retry and thus control comes back to nsmux, which creates another shadow node and sets the second translator on this node. At the moment translator stacks do not include proxy nodes, i.e. the structure of a dynamic translator stack is: ...---dynamic translator -- shadow node -- dynamic translator ---...
Diffstat (limited to 'node.c')
-rw-r--r--node.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/node.c b/node.c
index 5f24a5379..f7db74107 100644
--- a/node.c
+++ b/node.c
@@ -821,11 +821,22 @@ error_t
*underlying = p = ports_get_send_right (newpi);
*underlying_type = MACH_MSG_TYPE_COPY_SEND;
+ /**underlying_type = MACH_MSG_TYPE_COPY_SEND;*/
+ /**underlying_type = MACH_MSG_TYPE_MOVE_SEND;*/
+
LOG_MSG ("node_set_translators.open_port: %ld", (long) *underlying);
/*Drop our reference to the port */
ports_port_deref (newpi);
+ /*
+ char buf[256];
+ char *_buf = buf;
+ size_t len = 256;
+ io_read (p, &_buf, &len, 0, len);
+ LOG_MSG ("node_set_translator: Read from np: '%s'", buf);
+ */
+
/*Return the result of operations (everything should be okay here) */
return err;
} /*open_port */
@@ -905,6 +916,6 @@ error_t
/*Everything is OK here */
return 0;
-} /*node_set_translators */
+} /*node_set_translator */
/*---------------------------------------------------------------------------*/