Fix track re-negotiation when needed.
This commit is contained in:
parent
ae9e270821
commit
dda9ed54b4
1 changed files with 9 additions and 2 deletions
11
src/io.cpp
11
src/io.cpp
|
@ -104,8 +104,15 @@ namespace Mist {
|
||||||
snprintf(pageName, NAME_BUFFER_SIZE, SHM_TRACK_INDEX, streamName.c_str(), mapTid);
|
snprintf(pageName, NAME_BUFFER_SIZE, SHM_TRACK_INDEX, streamName.c_str(), mapTid);
|
||||||
IPC::sharedPage checkPage(pageName, 8 * 1024 * 1024, false, false);
|
IPC::sharedPage checkPage(pageName, 8 * 1024 * 1024, false, false);
|
||||||
if (!checkPage.mapped){
|
if (!checkPage.mapped){
|
||||||
WARN_MSG("The buffer deleted our index. Aborting new page.");
|
WARN_MSG("The buffer deleted our index. Re-negotiating...");
|
||||||
return false;
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue