diff options
author | Wojtek Porczyk <woju@invisiblethingslab.com> | 2017-09-14 02:24:29 +0200 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2017-09-26 11:01:33 +0100 |
commit | cc82a945286f011a465787b0fe998b396169fb18 (patch) | |
tree | 766a10ac54d4e2e91c99afc6392e07cc50ca5dad | |
parent | a5cc6da2c8d54f42416860f36abba629f648b228 (diff) | |
download | libvirt-python-cc82a945286f011a465787b0fe998b396169fb18.tar.gz |
libvirtaio: do not double-add callbacks
This was a harmless bug, without any impact, but it is wrong to manage
the collection of callbacks from it's members.
Signed-off-by: Wojtek Porczyk <woju@invisiblethingslab.com>
-rw-r--r-- | libvirtaio.py | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libvirtaio.py b/libvirtaio.py index d962e64..239561d 100644 --- a/libvirtaio.py +++ b/libvirtaio.py @@ -63,11 +63,6 @@ class Callback(object): self.cb = cb self.opaque = opaque - assert self.iden not in self.impl.callbacks, \ - 'found {} callback: {!r}'.format( - self.iden, self.impl.callbacks[self.iden]) - self.impl.callbacks[self.iden] = self - def __repr__(self): return '<{} iden={}>'.format(self.__class__.__name__, self.iden) @@ -324,6 +319,8 @@ class virEventAsyncIOImpl(object): ''' callback = FDCallback(self, cb, opaque, descriptor=self.descriptors[fd], event=event) + assert callback.iden not in self.callbacks + self.log.debug('add_handle(fd=%d, event=%d, cb=..., opaque=...) = %d', fd, event, callback.iden) self.callbacks[callback.iden] = callback @@ -376,6 +373,8 @@ class virEventAsyncIOImpl(object): https://libvirt.org/html/libvirt-libvirt-event.html#virEventAddTimeoutFunc ''' callback = TimeoutCallback(self, cb, opaque) + assert callback.iden not in self.callbacks + self.log.debug('add_timeout(timeout=%d, cb=..., opaque=...) = %d', timeout, callback.iden) self.callbacks[callback.iden] = callback |