On Thu, 18 Jun 2026 11:58:27 +0100, Daniel P. Berrangé <[email protected]> 
wrote:
> The removal sequence is:
> 
>  1. Remove from mon_list under monitor_lock.  This must happen
>     before disconnecting chardev handlers to prevent event
>     broadcast from calling monitor_flush_locked() after the
>     gcontext reset, which would create an out_watch on the wrong
>     GMainContext (see monitor_cancel_out_watch()).
>  2. Cancel any pending out_watch while gcontext still points to the
>     correct context.
>  3. Disconnect chardev handlers, passing context=NULL and close
>     the connection.
>  4. Drain pending requests from any in-flight monitor_qmp_read().
>  5. Destroy the monitor object
> 
> [...]

Reviewed-by: Marc-André Lureau <[email protected]>

-- 
Marc-André Lureau <[email protected]>

Reply via email to