I am adding some code which may drop the receiver end of a sync IPC pipe in the browser process, and would like to confirm the change would not hang the corresponding renderer process forever.
More specifically, my question would be:
What happens when the underlying mojo connection is closed while the renderer process is waiting for the response of the sync IPC over the connection? Will Mojo attempt to reconnect? Will the calling thread stop waiting for the response?
(I read
this document, and found it says "
What happens on the calling thread while waiting for the response of a sync method call? It continues to process incoming sync request messages (i.e., sync method calls); block other messages, including async messages and sync response messages that don’t match the ongoing sync call.". May I assume that Mojo has some mechanisms that can safely handle sync IPC in the disconnection case?