> > Are gmtime() + strftime() unsuitable for some reason?
> 
> They are not async-signal safe, so they are not usable in between a
> fork() and exec*().  Libvirt avoids them because it DOES log information 
> including timestamps in between fork/exec (and prior to
> writing libvirt's virtime.c, we DID hit cases where libvirt would deadlock a 
> child process due to the non-safe use of a more naive
> timestamp generator), but I don't know if qemu suffers from the same 
> restriction of when it has anything worth logging.

In my understanding, gmtime() + strftime() is usable in error_report() because 
it seems to be called 
For just a option check.

>[TODO]
>Other functions below are used to output error messages in qemu.
 >- qerror_report() is called in many source codes.
 >- fprintf() is called in vl.c.

On the other hand, qerror_report() and fprintf () seems to be called in signal 
handers.
So, in those cases, some signal-safe functions should be used.

Seiji

Reply via email to