Bug 545757: Don't post replies to the IO thread after a connection error. r=bent

This commit is contained in:
Chris Jones 2010-02-11 17:33:53 -06:00
Родитель 03c74db413
Коммит 24d63fc634
2 изменённых файлов: 14 добавлений и 6 удалений

Просмотреть файл

@ -439,9 +439,13 @@ RPCChannel::DispatchIncall(const Message& call)
reply->set_seqno(call.seqno());
mIOLoop->PostTask(
FROM_HERE,
NewRunnableMethod(this, &RPCChannel::OnSend, reply));
{
MutexAutoLock lock(mMutex);
if (ChannelConnected == mChannelState)
mIOLoop->PostTask(
FROM_HERE,
NewRunnableMethod(this, &RPCChannel::OnSend, reply));
}
}
bool

Просмотреть файл

@ -168,9 +168,13 @@ SyncChannel::OnDispatchMessage(const Message& msg)
reply->set_seqno(msg.seqno());
mIOLoop->PostTask(
FROM_HERE,
NewRunnableMethod(this, &SyncChannel::OnSend, reply));
{
MutexAutoLock lock(mMutex);
if (ChannelConnected == mChannelState)
mIOLoop->PostTask(
FROM_HERE,
NewRunnableMethod(this, &SyncChannel::OnSend, reply));
}
}
//