From 20c81fe2250bbe5e2d3e0d349bfd8896a0e32396 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 8 Mar 2024 16:30:31 +0000 Subject: [PATCH] relays: create fresh dataspace at stdin relay --- src/syndicate/relays.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/syndicate/relays.nim b/src/syndicate/relays.nim index 69a3a75..8c4f9ae 100644 --- a/src/syndicate/relays.nim +++ b/src/syndicate/relays.nim @@ -323,6 +323,7 @@ when defined(posix): proc connectTransport(turn: var Turn; ds: Cap; ta: transportAddress.Stdio) = ## Connect to an external dataspace over stdio. + let localDataspace = newDataspace(turn) proc stdoutWriter(turn: var Turn; buf: seq[byte]) = ## Blocking write to stdout. let n = writeBytes(stdout, buf, 0, buf.len) @@ -331,7 +332,7 @@ when defined(posix): stopActor(turn) var opts = RelayActorOptions( packetWriter: stdoutWriter, - initialCap: ds, + initialCap: localDataspace, initialOid: 0.Oid.some, ) spawnRelay("stdio", turn, opts) do (turn: var Turn; relay: Relay): @@ -351,7 +352,7 @@ when defined(posix): publish(turn, ds, TransportConnection( `addr`: ta.toPreserves, control: newCap(entity, turn), - resolved: relay.peer.accepted, + resolved: localDataspace.accepted, )) proc connectStdio*(turn: var Turn; ds: Cap) =