From c6e0d2a0acb42c4f51bfdbf184bcd066b1d0d6a6 Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Wed, 1 May 2019 16:38:12 -0700 Subject: [PATCH] Fixed IPC_Write to emit drain when no more pending writes --- microscript/ILibDuktape_net.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/microscript/ILibDuktape_net.c b/microscript/ILibDuktape_net.c index aa512ae..dbe56e8 100644 --- a/microscript/ILibDuktape_net.c +++ b/microscript/ILibDuktape_net.c @@ -932,6 +932,11 @@ void ILibDuktape_net_server_IPC_WriteCompletionEvent(ILibProcessPipe_Pipe sender duk_set_top(winIPC->ctx, top); // ... ILibProcessPipe_Pipe_WriteEx(winIPC->mPipe, buf, (int)bufLen, winIPC, ILibDuktape_net_server_IPC_WriteCompletionEvent); } + else + { + // No more pending writes, so we can emit drain + ILibDuktape_DuplexStream_Ready(winIPC->ds); + } } ILibTransport_DoneState ILibDuktape_net_server_IPC_WriteSink(ILibDuktape_DuplexStream *stream, char *buffer, int bufferLen, void *user) {