mirror of
https://github.com/libvirt/libvirt.git
synced 2026-09-03 20:53:04 -05:00
src: replace clock_gettime()/gettimeofday() with g_get_real_time()
g_get_real_time() returns the time since epoch in microseconds. It uses gettimeofday() internally while libvirt used clock_gettime because it is declared async signal safe. In practice gettimeofday is also async signal safe *provided* the timezone parameter is NULL. This is indeed the case in g_get_real_time(). Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
+4
-7
@@ -1286,11 +1286,10 @@ vshCommandRun(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = true;
|
||||
|
||||
while (cmd) {
|
||||
struct timeval before, after;
|
||||
gint64 before, after;
|
||||
bool enable_timing = ctl->timing;
|
||||
|
||||
if (enable_timing)
|
||||
GETTIMEOFDAY(&before);
|
||||
before = g_get_real_time();
|
||||
|
||||
if ((cmd->def->flags & VSH_CMD_FLAG_NOCONNECT) ||
|
||||
(hooks && hooks->connHandler && hooks->connHandler(ctl))) {
|
||||
@@ -1300,8 +1299,7 @@ vshCommandRun(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = false;
|
||||
}
|
||||
|
||||
if (enable_timing)
|
||||
GETTIMEOFDAY(&after);
|
||||
after = g_get_real_time();
|
||||
|
||||
/* try to automatically catch disconnections */
|
||||
if (!ret &&
|
||||
@@ -1321,8 +1319,7 @@ vshCommandRun(vshControl *ctl, const vshCmd *cmd)
|
||||
return ret;
|
||||
|
||||
if (enable_timing) {
|
||||
double diff_ms = (((after.tv_sec - before.tv_sec) * 1000.0) +
|
||||
((after.tv_usec - before.tv_usec) / 1000.0));
|
||||
double diff_ms = (after - before) / 1000.0;
|
||||
|
||||
vshPrint(ctl, _("\n(Time: %.3f ms)\n\n"), diff_ms);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user