mirror of
https://gitlab.com/libvirt/libvirt-python.git
synced 2025-08-01 00:21:59 +03:00
Report an error if registering an event loop twice
The C library will now ignore an attempt to register an event loop twice. It is unable to report an error in this case though due to the C API returning 'void'. To improve this we must manually report an error at the python level. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
@ -5427,13 +5427,12 @@ static PyObject *
|
||||
libvirt_virEventRegisterImpl(PyObject *self ATTRIBUTE_UNUSED,
|
||||
PyObject *args)
|
||||
{
|
||||
/* Unref the previously-registered impl (if any) */
|
||||
Py_XDECREF(addHandleObj);
|
||||
Py_XDECREF(updateHandleObj);
|
||||
Py_XDECREF(removeHandleObj);
|
||||
Py_XDECREF(addTimeoutObj);
|
||||
Py_XDECREF(updateTimeoutObj);
|
||||
Py_XDECREF(removeTimeoutObj);
|
||||
if (addHandleObj || updateHandleObj || removeHandleObj ||
|
||||
addTimeoutObj || updateTimeoutObj || removeTimeoutObj) {
|
||||
PyErr_SetString(PyExc_RuntimeError,
|
||||
"Event loop is already registered");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Parse and check arguments */
|
||||
if (!PyArg_ParseTuple(args, (char *) "OOOOOO:virEventRegisterImpl",
|
||||
|
Reference in New Issue
Block a user