• C
    Fix up connection reference counting. · cb51aa48
    Chris Lalancette 提交于
    Currently the reference counting for connections is busted.  I
    first noticed it while trying to use virConnectRef; it would
    eventually cause a crash in the remote_internal driver, although
    that was really just a victim.  Really, we should only call the
    close callbacks on the methods when the references drop to 0.  To
    accomplish this, move all of the close callbacks into
    virUnrefConnect (since there are lots of internal users of that
    function), and arrange for virConnectClose to call that.
    
    V2: Make sure to drop the connection lock before we call the close
        callbacks, otherwise we could deadlock the daemon
    V3: Fix up a crash when we got an error from one of the drivers
    Signed-off-by: NChris Lalancette <clalance@redhat.com>
    cb51aa48
libvirt.c 229.9 KB