Obtain a fresh span after flushing
This commit is contained in:
parent
03975dadf6
commit
1eef0ec19c
1 changed files with 3 additions and 0 deletions
|
|
@ -132,8 +132,11 @@ template flushImpl(s: OutputStream, awaiter, writeOp, flushOp: untyped) =
|
||||||
fsAssert s.extCursorsCount == 0
|
fsAssert s.extCursorsCount == 0
|
||||||
if s.vtable != nil:
|
if s.vtable != nil:
|
||||||
if s.buffers != nil:
|
if s.buffers != nil:
|
||||||
|
let runway = s.span.len
|
||||||
trackWrittenTo(s.buffers, s.span.startAddr)
|
trackWrittenTo(s.buffers, s.span.startAddr)
|
||||||
awaiter s.vtable.writeOp(s, nil, 0)
|
awaiter s.vtable.writeOp(s, nil, 0)
|
||||||
|
s.span = getWritableSpan(s.buffers)
|
||||||
|
s.spanEndPos += s.span.len - runway
|
||||||
|
|
||||||
if s.vtable.flushOp != nil:
|
if s.vtable.flushOp != nil:
|
||||||
awaiter s.vtable.flushOp(s)
|
awaiter s.vtable.flushOp(s)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue