From 98d4e0e1b5b53e729619dde77eb42164341e8d51 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Fri, 16 Jan 2015 01:18:40 -0800 Subject: [PATCH] Fix ZeroCopyOutputStream: Added a destructor that commits the last block of data if there was no final call to BackUp. --- src/ripple/overlay/impl/ZeroCopyStream.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ripple/overlay/impl/ZeroCopyStream.h b/src/ripple/overlay/impl/ZeroCopyStream.h index 44e2460e7a..5da2798e12 100644 --- a/src/ripple/overlay/impl/ZeroCopyStream.h +++ b/src/ripple/overlay/impl/ZeroCopyStream.h @@ -152,6 +152,8 @@ public: ZeroCopyOutputStream (Streambuf& streambuf, std::size_t blockSize); + ~ZeroCopyOutputStream(); + bool Next (void** data, int* size) override; @@ -177,6 +179,13 @@ ZeroCopyOutputStream::ZeroCopyOutputStream( { } +template +ZeroCopyOutputStream::~ZeroCopyOutputStream() +{ + if (commit_ != 0) + streambuf_.commit(commit_); +} + template bool ZeroCopyOutputStream::Next(