More debug spew for sorting mochitest-plain hang.

This commit is contained in:
Chris Jones 2010-01-22 18:03:38 -06:00
Родитель a8ab47bdd3
Коммит b66ebd0eff
1 изменённых файлов: 51 добавлений и 0 удалений

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

@ -158,9 +158,29 @@ AsyncChannel::Close()
mIOLoop->PostTask(
FROM_HERE, NewRunnableMethod(this, &AsyncChannel::OnCloseChannel));
#ifdef OS_LINUX
printf("TEST-UNEXPECTED-FAIL | process %d | posted OnCloseChannel, awaiting notify\n", getpid());
#endif
while (ChannelClosing == mChannelState)
mCvar.Wait();
#ifdef OS_LINUX
printf("TEST-UNEXPECTED-FAIL | process %d | received notify\n", getpid());
#endif
// TODO sort out Close() on this side racing with Close() on the
// other side
mChannelState = ChannelClosed;
@ -408,6 +428,18 @@ AsyncChannel::OnChannelError()
{
AssertIOThread();
#ifdef OS_LINUX
printf("TEST-UNEXPECTED-FAIL | process %d | channel error detected\n", getpid());
#endif
MutexAutoLock lock(mMutex);
// NB: this can race with the `Goodbye' event being processed by
@ -437,9 +469,28 @@ AsyncChannel::OnCloseChannel()
mTransport->Close();
#ifdef OS_LINUX
printf("TEST-UNEXPECTED-FAIL | process %d | OnCloseChannel: closing\n", getpid());
#endif
MutexAutoLock lock(mMutex);
mChannelState = ChannelClosed;
mCvar.Notify();
#ifdef OS_LINUX
printf("TEST-UNEXPECTED-FAIL | process %d | OnCloseChannel: notified worker\n", getpid());
#endif
}