It sounds like you are trying to do a busy loop, which is a very bad thing in an event driven system. What that would do is stop GTK+ working on doing its visual updates and also consumes CPU time slowing down the rest of your system.
What you need to use is the functions g_timeout_add_seconds() or g_timeout_add() see http://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html
. These functions add a call back, which is called after a set time. This can be repeatedly or one time and can be stopped at any time. These do not use any more CPU time by busy waiting and still allows GTK to complete its own work.