From 9426d0cbb790b50ad5afcf348bb24e73e6b7b2da Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Fri, 22 Mar 2019 13:31:49 +0100 Subject: erts: Adjust dist obuf size correctly after hdr fin --- erts/emulator/beam/dist.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'erts/emulator') diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c index 8669cc16c9..faed10ff91 100644 --- a/erts/emulator/beam/dist.c +++ b/erts/emulator/beam/dist.c @@ -2885,7 +2885,9 @@ erts_dist_command(Port *prt, int initial_reds) ob = oq.first; ASSERT(ob); do { + obufsize += size_obuf(ob); reds = erts_encode_ext_dist_header_finalize(ob, dep, flags, reds); + obufsize -= size_obuf(ob); if (reds < 0) break; last_finalized = ob; @@ -2924,7 +2926,9 @@ erts_dist_command(Port *prt, int initial_reds) while (oq.first && !preempt) { ErtsDistOutputBuf *fob; Uint size; + obufsize += size_obuf(oq.first); reds = erts_encode_ext_dist_header_finalize(oq.first, dep, flags, reds); + obufsize -= size_obuf(oq.first); if (reds < 0) { preempt = 1; break; -- cgit v1.2.3