Update Logger.cpp

Should not lose the log :)
This commit is contained in:
u6th9d 2018-10-09 16:46:13 +08:00 committed by GitHub
parent 4d9166443b
commit 3c2a53d58f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -188,20 +188,18 @@ LogUnit* Logger::getLogUnit()
}
} else {
std::unique_lock<std::mutex> lck(mMtx);
while (true) {
if (!mFree.empty()) {
log = mFree.back();
mFree.resize(mFree.size() - 1);
break;
} else if (mLogUnitCnt < mFree.capacity()) {
++mLogUnitCnt;
break;
} else {
while (mFree.empty() && !mStop) {
mCond.wait(lck);
}
if (!mFree.empty()) {
log = mFree.back();
mFree.resize(mFree.size() - 1);
} else {
return nullptr;
}
}
}