diff options
author | Anders Broman <anders.broman@ericsson.com> | 2013-06-04 04:36:19 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2013-06-04 04:36:19 +0000 |
commit | 78e334b845fd815976369a2a9c0756c8cbe5d7b6 (patch) | |
tree | 7ecc504c8af78c9cb36ec5cfde644c23cea2acbd /capture_sync.c | |
parent | ee109cc7b230127f04a4ef9d4ad5ed98a7820a42 (diff) |
From Mike Garratt:
Friendly Names support causing unnecessary delay when Wireshark starts.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8034
svn path=/trunk/; revision=49752
Diffstat (limited to 'capture_sync.c')
-rw-r--r-- | capture_sync.c | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/capture_sync.c b/capture_sync.c index 7bff5e6c48..5914977c6c 100644 --- a/capture_sync.c +++ b/capture_sync.c @@ -956,7 +956,7 @@ sync_pipe_close_command(int *data_read_fd, int *message_read_fd, /* XXX - assumes PIPE_BUF_SIZE > SP_MAX_MSG_LEN */ #define PIPE_BUF_SIZE 5120 static int -sync_pipe_run_command(char** argv, gchar **data, gchar **primary_msg, +sync_pipe_run_command_actual(char** argv, gchar **data, gchar **primary_msg, gchar **secondary_msg) { gchar *msg; @@ -1128,6 +1128,43 @@ sync_pipe_run_command(char** argv, gchar **data, gchar **primary_msg, return ret; } +/* centralised logging and timing for sync_pipe_run_command_actual(), +* redirects to sync_pipe_run_command_actual() +*/ +static int +sync_pipe_run_command(char** argv, gchar **data, gchar **primary_msg, + gchar **secondary_msg) +{ + int ret, i; + GTimeVal start_time; + GTimeVal end_time; + float elapsed; + int logging_enabled; + + /* check if logging is actually enabled, otherwise don't expend the CPU generating logging */ + logging_enabled=( (G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_INFO) & G_LOG_LEVEL_MASK & prefs.console_log_level); + if(logging_enabled){ + g_get_current_time(&start_time); + g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_INFO, "sync_pipe_run_command() starts"); + for(i=0; argv[i] != 0; i++) { + g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, " argv[%d]: %s", i, argv[i]); + } + } + /* do the actual sync pipe run command */ + ret=sync_pipe_run_command_actual(argv, data, primary_msg, secondary_msg); + + if(logging_enabled){ + g_get_current_time(&end_time); + elapsed = (float) ((end_time.tv_sec - start_time.tv_sec) + + ((end_time.tv_usec - start_time.tv_usec) / 1e6)); + + g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_INFO, "sync_pipe_run_command() ends, taking %.3fs, result=%d", elapsed, ret); + + } + return ret; +} + + int sync_interface_set_80211_chan(const gchar *iface, const char *freq, const gchar *type, gchar **data, gchar **primary_msg, @@ -1236,7 +1273,7 @@ sync_if_capabilities_open(const gchar *ifname, gboolean monitor_mode, int argc; char **argv; - g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, "sync_linktype_list_open"); + g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, "sync_if_capabilities_open"); argv = init_pipe_args(&argc); |