diff options
Diffstat (limited to 'src/local')
-rw-r--r-- | src/local/client.nim | 6 | ||||
-rw-r--r-- | src/local/container.nim | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/local/client.nim b/src/local/client.nim index d41fa0d9..8e29bdc6 100644 --- a/src/local/client.nim +++ b/src/local/client.nim @@ -422,7 +422,11 @@ proc acceptBuffers(client: Client) = outCacheId = loader.addCacheFile(item.ostreamOutputId, pid).outputId loader.resume(@[item.istreamOutputId, item.ostreamOutputId]) # pass down fdout - container.setStream(stream, registerFun, item.fdout, outCacheId) + stream.sendFileHandle(item.fdout) + stream.withWriter w: + w.swrite(outCacheId) + discard close(item.fdout) + container.setStream(stream, registerFun) else: # buffer is cloned, no need to cache anything container.setCloneStream(stream, registerFun) diff --git a/src/local/container.nim b/src/local/container.nim index 41cc2efd..c44a9bc7 100644 --- a/src/local/container.nim +++ b/src/local/container.nim @@ -1586,11 +1586,9 @@ proc handleCommand(container: Container) = container.iface.resolve(packetid, len - slen(packetid)) proc setStream*(container: Container; stream: SocketStream; - registerFun: proc(fd: int); fd: FileHandle; outCacheId: int) = + registerFun: proc(fd: int)) = assert cfCloned notin container.flags container.iface = newBufferInterface(stream, registerFun) - container.iface.passFd(fd, outCacheId) - discard close(fd) discard container.iface.load().then(proc(res: int) = container.onload(res) ) |