| Index: ipc/ipc_sync_message_filter.cc
|
| diff --git a/ipc/ipc_sync_message_filter.cc b/ipc/ipc_sync_message_filter.cc
|
| index 1a6f6d9255a723d2a98bb938e3d0331d2e7885d9..73e905833ed34f675d35e355affd63c2cdef30b4 100644
|
| --- a/ipc/ipc_sync_message_filter.cc
|
| +++ b/ipc/ipc_sync_message_filter.cc
|
| @@ -59,7 +59,10 @@ bool SyncMessageFilter::Send(Message* message) {
|
| }
|
|
|
| base::WaitableEvent* events[2] = { shutdown_event_, &done_event };
|
| - base::WaitableEvent::WaitMany(events, 2);
|
| + if (base::WaitableEvent::WaitMany(events, 2) == 1) {
|
| + TRACE_EVENT_FLOW_END0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
|
| + "SyncMessageFilter::Send", &done_event);
|
| + }
|
|
|
| {
|
| base::AutoLock auto_lock(lock_);
|
| @@ -103,6 +106,9 @@ bool SyncMessageFilter::OnMessageReceived(const Message& message) {
|
| (*iter)->send_result =
|
| (*iter)->deserializer->SerializeOutputParameters(message);
|
| }
|
| + TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
|
| + "SyncMessageFilter::OnMessageReceived",
|
| + (*iter)->done_event);
|
| (*iter)->done_event->Signal();
|
| return true;
|
| }
|
| @@ -142,6 +148,9 @@ void SyncMessageFilter::SignalAllEvents() {
|
| lock_.AssertAcquired();
|
| for (PendingSyncMessages::iterator iter = pending_sync_messages_.begin();
|
| iter != pending_sync_messages_.end(); ++iter) {
|
| + TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
|
| + "SyncMessageFilter::SignalAllEvents",
|
| + (*iter)->done_event);
|
| (*iter)->done_event->Signal();
|
| }
|
| }
|
|
|