X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=helper_thread.c;h=f031df4de508855120d41268dd32f6f05049a508;hb=25f8227d25a77d3bc41a2044d2e662e635fa32cd;hp=1befabfca7a04024bba69ee6859a73086e85cdb5;hpb=a39fb9ea87afae396a882961fe65d87e548a1a1b;p=fio.git diff --git a/helper_thread.c b/helper_thread.c index 1befabfc..f031df4d 100644 --- a/helper_thread.c +++ b/helper_thread.c @@ -110,12 +110,8 @@ static void *helper_thread_main(void *data) msec_to_next_event = DISK_UTIL_MSEC; if (since_du >= DISK_UTIL_MSEC) msec_to_next_event -= (since_du - DISK_UTIL_MSEC); - } else { - if (since_du >= DISK_UTIL_MSEC) - msec_to_next_event = DISK_UTIL_MSEC - (DISK_UTIL_MSEC - since_du); - else - msec_to_next_event = DISK_UTIL_MSEC; - } + } else + msec_to_next_event = DISK_UTIL_MSEC - since_du; if (hd->do_stat) { hd->do_stat = 0; @@ -148,8 +144,11 @@ int helper_thread_create(struct fio_mutex *startup_mutex, struct sk_out *sk_out) setup_disk_util(); hd->sk_out = sk_out; - pthread_cond_init(&hd->cond, NULL); - pthread_mutex_init(&hd->lock, NULL); + + ret = mutex_cond_init_pshared(&hd->lock, &hd->cond); + if (ret) + return 1; + hd->startup_mutex = startup_mutex; ret = pthread_create(&hd->thread, NULL, helper_thread_main, hd);