diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2002-09-06 22:53:19 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2002-09-06 22:53:19 +0000 |
commit | 4bf8ffa040bf17b6373bfd1863b65878a47e0958 (patch) | |
tree | f11357e55e15c9ade6745b1391063793e12c9d7d /gtk2 | |
parent | 429b24827b22a3a7038095cdfc8307442f2f1ec3 (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.c | 12 |
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; } |