[libvirt] [RFC PATCH] qemu: new API for tracking arbitrary monitor events
Eric Blake
eblake at redhat.com
Fri Dec 20 17:43:10 UTC 2013
On 12/20/2013 09:41 AM, Michal Privoznik wrote:
>> Ooh, just noticed that the timestamp is not part of the event data;
>> probably worth adding another parameter to the callback function to list
>> the event timestamp (as knowing when qemu fired an event may indeed be
>> important to a developer using this interface for debugging). What type
>> would be best? Is it okay to tie our public interface to struct
>> timespec (which in turn risks problems if a compile-time switch can move
>> between 32- and 64-bit seconds since Epoch), or should I just open-code
>> it to two parameters: 'long long seconds, int microseconds'?
>
> Well, in qemu code base it seems like they're using struct timeval; but
> typecasting into int64_t both seconds and microseconds. So I'd say it's
> fine for us to go with ULL seconds, uint microseconds. Although I'm not
> that convinced that we should stick with unsigned, signed type will work
> too. At least for another ~25 years on my RPi :)
I'm going signed LL for seconds (-1 if timestamp is not available), and
uint for micros. Even if the host uses 32-bit time_t for seconds, it
doesn't hurt us to pass the time as 64-bit; and by specifying it as
explicit LL rather than time_t our header remains independent of host
sizing changes.
--
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/20131220/19618635/attachment-0001.sig>
More information about the libvir-list
mailing list