[libvirt] [PATCH 1/3] Add internal APIs for dealing with time
Daniel Veillard
veillard at redhat.com
Wed Nov 30 07:57:31 UTC 2011
On Tue, Nov 29, 2011 at 04:21:45PM +0000, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
>
> The logging APIs need to be able to generate formatted timestamps
> using only async signal safe functions. This rules out using
> gmtime/localtime/malloc/gettimeday(!) and much more.
>
> Introduce a new internal API which is async signal safe.
>
> virTimeMillisNowRaw replacement for gettimeofday. Uses clock_gettime
> where available, otherwise falls back to the unsafe
> gettimeofday
>
> virTimeFieldsNowRaw replacements for gmtime(), convert a timestamp
> virTimeFieldsThenRaw into a broken out set of fields. No localtime()
> replacement is provided, because converting to
> local time is not practical with only async signal
> safe APIs.
>
> virTimeStringNowRaw replacements for strftime() which print a timestamp
> virTimeStringThenRaw into a string, using a pre-determined format, with
> a fixed size buffer (VIR_TIME_STRING_BUFLEN)
>
> For each of these there is also a version without the Raw postfix
> which raises a full libvirt error. These versions are not async
> signal safe
ACK, I didn't spot anything :-)
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list