From a3dbb9cee672e4c3d5e526b6b2a847e78c06b637 Mon Sep 17 00:00:00 2001 From: oharboe Date: Thu, 13 Mar 2008 08:17:01 +0000 Subject: [PATCH] print ms in debug_level 3 logs. Seconds is not enough. git-svn-id: svn://svn.berlios.de/openocd/trunk@510 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/helper/log.c | 6 +++--- src/helper/time_support.c | 15 +++++++++++++++ src/helper/time_support.h | 2 ++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/helper/log.c b/src/helper/log.c index cb45a7eb5..03fecc208 100644 --- a/src/helper/log.c +++ b/src/helper/log.c @@ -35,7 +35,7 @@ int debug_level = -1; static FILE* log_output; static log_callback_t *log_callbacks = NULL; -static time_t start; +static long long start; static char *log_strings[5] = { @@ -77,7 +77,7 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch if (debug_level >= LOG_DEBUG) { /* print with count and time information */ - int t=(int)(time(NULL)-start); + int t=(int)(timeval_ms()-start); fprintf(log_output, "%s %d %d %s:%d %s(): %s", log_strings[level+1], count, t, file, line, function, string); } else @@ -191,7 +191,7 @@ int handle_log_output_command(struct command_context_s *cmd_ctx, char *cmd, char int log_register_commands(struct command_context_s *cmd_ctx) { - start = time(NULL); + start = timeval_ms(); register_command(cmd_ctx, NULL, "log_output", handle_log_output_command, COMMAND_ANY, "redirect logging to (default: stderr)"); register_command(cmd_ctx, NULL, "debug_level", handle_debug_level_command, diff --git a/src/helper/time_support.c b/src/helper/time_support.c index f772d2f4f..267746145 100644 --- a/src/helper/time_support.c +++ b/src/helper/time_support.c @@ -111,3 +111,18 @@ int duration_stop_measure(duration_t *duration, char **text) return ERROR_OK; } + + + + +long long timeval_ms() +{ + struct timeval now; + long long t=0; + gettimeofday(&now, NULL); + + t+=now.tv_usec/1000; + t+=now.tv_sec*1000; + + return t; +} diff --git a/src/helper/time_support.h b/src/helper/time_support.h index 4e79d0d0b..05dc91190 100644 --- a/src/helper/time_support.h +++ b/src/helper/time_support.h @@ -26,6 +26,8 @@ extern int timeval_subtract(struct timeval *result, struct timeval *x, struct timeval *y); extern int timeval_add(struct timeval *result, struct timeval *x, struct timeval *y); extern int timeval_add_time(struct timeval *result, int sec, int usec); +/* gettimeofday() timeval in 64 bit ms */ +extern long long timeval_ms(); typedef struct duration_s { -- 2.30.2