> *Needs Discussion*
>
> I wonder whether the better fix is to ensure there is only a single IPC thread
> running and dispatch all activity to that thread.
By default the IPC thread pool is set to 1 but it's configurable option (--ipc-thread-pool)
The other thread involved is the compositor thread, because of the completion given to surface.swap_buffers in SessionMediator::exchange_buffer (which we could make synchronous).
> *Needs Discussion*
>
> I wonder whether the better fix is to ensure there is only a single IPC thread
> running and dispatch all activity to that thread.
By default the IPC thread pool is set to 1 but it's configurable option (--ipc-thread-pool)
The other thread involved is the compositor thread, because of the completion given to surface. swap_buffers in SessionMediator ::exchange_ buffer (which we could make synchronous).