Fix CSI to support a separate thread per platform
Fix CSI to support a separate thread per platform

This is crucial to being able to deliver indications from multiple
platforms at the same time.  By keeping a separate thread_id for each
platform, we ensure that we start one and only one thread per platform,
so that they can properly establish their connections to libvirt.

Note that pegasus won't hand me a fresh ObjectPath if I subscribe to a (e.g)
Xen indication after a KVM one, so this doesn't actually enable subscription
of indications from multiple platforms.  However, this seems to be a pegasus
issue and can be worked independently.

Also fix leak of args in ActivateFilter if thread is already started.

Signed-off-by: Dan Smith <787803eb1755f35291827d0f0268aa9bc7a57464@us.ibm.com>

libvirt/libvirt-cim,libvirt/libvirt-cim,libvirt/libvirt-cim