• D
    Fix crash when deleting monitor while a command is in progress · 79533da1
    Daniel P. Berrange 提交于
    If QEMU shuts down while we're in the middle of processing a
    monitor command, the monitor will be freed, and upon cleaning
    up we attempt to do  qemuMonitorUnlock(priv->mon) when priv->mon
    is NULL.
    
    To address this we introduce proper reference counting into
    the qemuMonitorPtr object, and hold an extra reference whenever
    executing a command.
    
    * src/qemu/qemu_driver.c: Hold a reference on the monitor while
      executing commands, and only NULL-ify the priv->mon field when
      the last reference is released
    * src/qemu/qemu_monitor.h, src/qemu/qemu_monitor.c: Add reference
      counting to handle safe deletion of monitor objects
    79533da1
qemu_monitor.c 24.7 KB