Index: net/spdy/spdy_session.cc |
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc |
index b00e9388371db460891ad45e69b603656f491bd3..a360c527a76955d3c53f7eba2e788f5b589c04b0 100644 |
--- a/net/spdy/spdy_session.cc |
+++ b/net/spdy/spdy_session.cc |
@@ -362,7 +362,11 @@ void SpdySession::ProcessPendingCreateStreams() { |
pending_create.priority, |
pending_create.spdy_stream, |
*pending_create.stream_net_log); |
- pending_create.callback->Run(error); |
+ MessageLoop::current()->PostTask( |
+ FROM_HERE, |
+ method_factory_.NewRunnableMethod( |
+ &SpdySession::InvokeUserStreamCreationCallback, |
+ pending_create.callback, error)); |
break; |
} |
} |
@@ -1298,4 +1302,9 @@ void SpdySession::RecordHistograms() { |
} |
} |
+void SpdySession::InvokeUserStreamCreationCallback( |
+ CompletionCallback* callback, int rv) { |
+ callback->Run(rv); |
+} |
+ |
} // namespace net |