зеркало из https://github.com/mozilla/pjs.git
Bug 756036 - Fix race condition between rilworker and IO thread. r=kmachulis
This commit is contained in:
Родитель
de44d30876
Коммит
e98b64a0d2
|
@ -320,11 +320,19 @@ RilClient::OnFileCanWriteWithoutBlocking(int fd)
|
|||
|
||||
MOZ_ASSERT(fd == mSocket.get());
|
||||
|
||||
while (!mOutgoingQ.empty() || mCurrentRilRawData != NULL) {
|
||||
if(!mCurrentRilRawData) {
|
||||
mCurrentRilRawData = mOutgoingQ.front();
|
||||
mOutgoingQ.pop();
|
||||
mCurrentWriteOffset = 0;
|
||||
while (true) {
|
||||
{
|
||||
MutexAutoLock lock(mMutex);
|
||||
|
||||
if (mOutgoingQ.empty() && !mCurrentRilRawData) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!mCurrentRilRawData) {
|
||||
mCurrentRilRawData = mOutgoingQ.front();
|
||||
mOutgoingQ.pop();
|
||||
mCurrentWriteOffset = 0;
|
||||
}
|
||||
}
|
||||
const uint8_t *toWrite;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче