aboutsummaryrefslogtreecommitdiffstats
path: root/gtk2
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2002-09-06 22:53:19 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2002-09-06 22:53:19 +0000
commit4bf8ffa040bf17b6373bfd1863b65878a47e0958 (patch)
treef11357e55e15c9ade6745b1391063793e12c9d7d /gtk2
parent429b24827b22a3a7038095cdfc8307442f2f1ec3 (diff)
Patch from Oliver Abad to reduce CPU used by the redraw thread. Use g_sleep()
instead of a crude busy-wait loop. svn path=/trunk/; revision=6203
Diffstat (limited to 'gtk2')
-rw-r--r--gtk2/main.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gtk2/main.c b/gtk2/main.c
index 53c763485a..65bc7de29f 100644
--- a/gtk2/main.c
+++ b/gtk2/main.c
@@ -1,6 +1,6 @@
/* main.c
*
- * $Id: main.c,v 1.8 2002/09/06 22:45:44 sahlberg Exp $
+ * $Id: main.c,v 1.9 2002/09/06 22:53:19 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1215,10 +1215,12 @@ update_thread(gpointer data _U_)
draw_tap_listeners(FALSE);
gdk_threads_leave();
g_static_mutex_unlock(&update_thread_mutex);
- do{
- g_thread_yield();
- gettimeofday(&tv2, NULL);
- }while(tv2.tv_sec<(tv1.tv_sec+2));
+ g_thread_yield();
+ gettimeofday(&tv2, NULL);
+ if( ((tv1.tv_sec + 2) * 1000000 + tv1.tv_usec) > (tv2.tv_sec * 1000000 + tv2.tv_usec) ){
+ g_usleep(((tv1.tv_sec + 2) * 1000000 + tv1.tv_usec) -
+ (tv2.tv_sec * 1000000 + tv2.tv_usec));
+ }
}
return NULL;
}