From dda9ed54b422d56f6de035807ba8e55cc08bdafd Mon Sep 17 00:00:00 2001 From: Thulinma Date: Tue, 3 May 2016 10:16:48 +0200 Subject: [PATCH] Fix track re-negotiation when needed. --- src/io.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/io.cpp b/src/io.cpp index 81a954ba..9b9b3148 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -104,8 +104,15 @@ namespace Mist { snprintf(pageName, NAME_BUFFER_SIZE, SHM_TRACK_INDEX, streamName.c_str(), mapTid); IPC::sharedPage checkPage(pageName, 8 * 1024 * 1024, false, false); if (!checkPage.mapped){ - WARN_MSG("The buffer deleted our index. Aborting new page."); - return false; + WARN_MSG("The buffer deleted our index. Re-negotiating..."); + trackState.erase(tid); + trackMap.erase(tid); + trackOffset.erase(tid); + pagesByTrack.erase(tid); + metaPages.erase(tid); + curPageNum.erase(tid); + curPage.erase(tid); + return bufferStart(tid, pageNumber, myMeta); } }