summaryrefslogtreecommitdiffstats
path: root/seaudit/progress.c
diff options
context:
space:
mode:
Diffstat (limited to 'seaudit/progress.c')
-rw-r--r--seaudit/progress.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/seaudit/progress.c b/seaudit/progress.c
index 01b01fb..2e0abeb 100644
--- a/seaudit/progress.c
+++ b/seaudit/progress.c
@@ -99,10 +99,11 @@ void progress_hide(progress_t * progress)
int progress_wait(progress_t * progress)
{
- GTimeVal wait_time = { 0, 50000 };
+ gint64 end_time;
g_mutex_lock(progress->mutex);
while (!progress->done) {
- g_cond_timed_wait(progress->cond, progress->mutex, &wait_time);
+ end_time = g_get_monotonic_time () + 50000; // need to be set before each wait
+ g_cond_wait_until(progress->cond, progress->mutex, end_time);
if (progress->s != NULL) {
gtk_label_set_text(GTK_LABEL(progress->label2), progress->s);
free(progress->s);