【KEIAN】KTV-FSUSB2/FSPCIE総合 56

このエントリーをはてなブックマークに追加
642名無しさん@編集中
どこで問題が起きているかなんとなくわかったきがする…
バッファ確保されていない時点でバッファから無理矢理取り出そうとすると落ちますね…
pryutil.cpp の 252〜262 行目辺り

size_t index ;
if(_LastFragment) { // 断片化されている場合は、空き領域の先頭が書込み途中
index = _EmptyIndices.front() ;
}else {
exclusive_lock lock(&_Exclusive) ;
if(Full()) {
// 空きがない rotate (データは破壊されドロップが確実に発生する)
index = _Indices.front() ;
_Indices.pop();
_EmptyIndices.push(index) ;
}else {
// 空き位置取得
index = _EmptyIndices.front() ; ←ココ(_EmptyIndicesが空のとき、めちゃくちゃな値を返す)
}
}

ちょっと直してみます。
お騒がせしました。m(_ _)m