[libvirt] [v3 22/32] Add object event namespaces for the event IDs
Eric Blake
eblake at redhat.com
Tue Dec 10 13:37:52 UTC 2013
On 12/02/2013 09:39 AM, Cédric Bosdonnat wrote:
> Each unique event ID will thus be composed by 1 byte for the namespace
> and 1 byte for a namespace-specific ID. The namespace for domain event
> needs to be 0 for compatibility reasons.
> ---
> src/conf/domain_event.c | 10 ++++++++--
> src/conf/domain_event.h | 8 ++++++++
> 2 files changed, 16 insertions(+), 2 deletions(-)
>
More things to look for in a followup patch that adjusts indentation,
and a question.
> diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c
> index 3c14cec..8462754 100644
> --- a/src/conf/domain_event.c
> +++ b/src/conf/domain_event.c
> @@ -1910,11 +1910,17 @@ virObjectEventStateDispatchFunc(virConnectPtr conn,
> void *opaque)
> {
> virObjectEventStatePtr state = opaque;
> + virEventNamespaceID namespace = (event->eventID & 0xFF00) >> 8;
>
> /* Drop the lock whle dispatching, for sake of re-entrancy */
> virObjectEventStateUnlock(state);
> - virDomainEventDispatchDefaultFunc(conn, event,
> - VIR_DOMAIN_EVENT_CALLBACK(cb), cbopaque, NULL);
> + switch (namespace)
> + {
Indentation: { belongs on the same line as switch.
> + case VIR_EVENT_NAMESPACE_DOMAIN:
Indentation - most code aligns the 'case' to be flush with 'switch'
rather than 4 spaces in.
> + virDomainEventDispatchDefaultFunc(conn, event,
> + VIR_DOMAIN_EVENT_CALLBACK(cb), cbopaque, NULL);
Indentation: this is typically written:
virDomainEventDispatchDefaultFunc(conn, event,
VIR_DOMAIN_EVENT_CALLBACK(cb),
cbopaque, NULL);
> + break;
> + }
This switch statement falls through with no action on unknown
namespaces. Are event ids always internal, such that hitting the
default case implies programmer error? If so, should we add a default:
label that does a VIR_ERROR to warn us in the logs of our mistake?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20131210/a510a077/attachment-0001.sig>
More information about the libvir-list
mailing list