remote: Don't lose track of events when callbacks are slow
remote: Don't lose track of events when callbacks are slow

After the remote driver runs an event callback, it unconditionally disables the
loop timer, thinking it just flushed every queued event. This doesn't work
correctly though if an event is queued while a callback is running.

The events actually aren't being lost, it's just that the event loop didn't
think there was anything that needed to be dispatched. So all those 'lost
events' should actually get re-triggered if you manually kick the loop by
generating a new event (like creating a new guest).

The solution is to disable the dispatch timer _before_ we invoke any event
callbacks. Events queued while a callback is running will properly reenable the
timer.

More info at https://bugzilla.redhat.com/show_bug.cgi?id=624252

bjzhang/libvirt,VenkatDatta/libvirt,rmarwaha/libvirt,siboulet/libvirt-openvz,novel/fbsd-libvirt,rmarwaha/libvirt,andreabolognani/libvirt,foomango/libvirt,VenkatDatta/libvirt,trainstack/libvirt,eskultety/libvirt,datto/libvirt,trainstack/libvirt,shugaoye/libvirt,emaste/libvirt,rmarwaha/libvirt,agx/libvirt,zhlcindy/libvirt-1.1.4-maintain,emaste/libvirt,iam-TJ/libvirt,shugaoye/libvirt,dumbbell/libvirt,agx/libvirt,dumbbell/libvirt,jfehlig/libvirt,libvirt/libvirt,usc-isi/libvirt,wiedi/libvirt,rlaager/libvirt,dumbbell/libvirt,rmarwaha/libvirt1,leilihh/libvirt,emaste/libvirt,leilihh/libvirt,taget/libvirt,soulxu/libvirt-xuhj,crobinso/libvirt,warewolf/libvirt,crobinso/libvirt,cbosdo/libvirt,elmarco/libvirt,rmarwaha/libvirt,iam-TJ/libvirt,libvirt/libvirt,zippy2/libvirt,rlaager/libvirt,crobinso/libvirt,trainstack/libvirt,bjzhang/libvirt,andreabolognani/libvirt,elmarco/libvirt,nertpinx/libvirt,olafhering/libvirt,emaste/libvirt,danwent/libvirt-ovs,jeckersb/libvirt,trainstack/libvirt,elmarco/libvirt,jeckersb/libvirt,rmarwaha/libvirt,kantai/libvirt-vfork,siboulet/libvirt-openvz,emaste/libvirt,leilihh/libvirt,libvirt/libvirt,andreabolognani/libvirt,shugaoye/libvirt,danwent/libvirt-ovs,leilihh/libvirt,siboulet/libvirt-openvz,wiedi/libvirt,jardasgit/libvirt,nertpinx/libvirt,rmarwaha/libvirt1,VenkatDatta/libvirt,bjzhang/libvirt,rmarwaha/libvirt,usc-isi/libvirt,danwent/libvirt-ovs,iam-TJ/libvirt,wiedi/libvirt,shugaoye/libvirt,eskultety/libvirt,rlaager/libvirt,danwent/libvirt-ovs,VenkatDatta/libvirt,dumbbell/libvirt,datto/libvirt,foomango/libvirt,danwent/libvirt-ovs,datto/libvirt,novel/fbsd-libvirt,VenkatDatta/libvirt,eskultety/libvirt,rlaager/libvirt,bjzhang/libvirt,warewolf/libvirt,kantai/libvirt-vfork,rbu/libvirt,rbu/libvirt,shugaoye/libvirt,warewolf/libvirt,fabianfreyer/libvirt,jardasgit/libvirt,foomango/libvirt,iam-TJ/libvirt,trainstack/libvirt,jeckersb/libvirt,agx/libvirt,soulxu/libvirt-xuhj,jfehlig/libvirt,jfehlig/libvirt,trainstack/libvirt,kantai/libvirt-vfork,iam-TJ/libvirt,libvirt/libvirt,olafhering/libvirt,leilihh/libvirt,emaste/libvirt,fabianfreyer/libvirt,cbosdo/libvirt,cbosdo/libvirt,agx/libvirt,eskultety/libvirt,andreabolognani/libvirt,soulxu/libvirt-xuhj,jeckersb/libvirt,novel/fbsd-libvirt,zhlcindy/libvirt-1.1.4-maintain,zippy2/libvirt,novel/fbsd-libvirt,fabianfreyer/libvirt,iam-TJ/libvirt,dumbbell/libvirt,zhlcindy/libvirt-1.1.4-maintain,wiedi/libvirt,eskultety/libvirt,iam-TJ/libvirt,jardasgit/libvirt,siboulet/libvirt-openvz,novel/fbsd-libvirt,taget/libvirt,kantai/libvirt-vfork,novel/fbsd-libvirt,novel/fbsd-libvirt,rbu/libvirt,foomango/libvirt,nertpinx/libvirt,warewolf/libvirt,datto/libvirt,bjzhang/libvirt,rmarwaha/libvirt1,soulxu/libvirt-xuhj,rmarwaha/libvirt1,zhlcindy/libvirt-1.1.4-maintain,rlaager/libvirt,usc-isi/libvirt,leilihh/libvirt,zippy2/libvirt,taget/libvirt,fabianfreyer/libvirt,zippy2/libvirt,jeckersb/libvirt,siboulet/libvirt-openvz,zhlcindy/libvirt-1.1.4-maintain,rmarwaha/libvirt1,jardasgit/libvirt,olafhering/libvirt,jeckersb/libvirt,andreabolognani/libvirt,fabianfreyer/libvirt,novel/fbsd-libvirt,rbu/libvirt,agx/libvirt,jfehlig/libvirt,emaste/libvirt,wiedi/libvirt,dumbbell/libvirt,elmarco/libvirt,rmarwaha/libvirt1,warewolf/libvirt,novel/fbsd-libvirt,warewolf/libvirt,datto/libvirt,kantai/libvirt-vfork,jardasgit/libvirt,olafhering/libvirt,rbu/libvirt,usc-isi/libvirt,cbosdo/libvirt,foomango/libvirt,cbosdo/libvirt,crobinso/libvirt,wiedi/libvirt,nertpinx/libvirt,warewolf/libvirt,elmarco/libvirt,wiedi/libvirt,trainstack/libvirt,nertpinx/libvirt,jeckersb/libvirt,soulxu/libvirt-xuhj,usc-isi/libvirt,taget/libvirt,taget/libvirt