commit 3abe8080ebefee94b2b393b08debd324eefa92a1 from: Stefan Sperling date: Wed Apr 10 12:46:45 2019 UTC ensure tog's log thread always sets 'log_complete' flag on exit commit - 0584f85431b3c981d2bf612657aa3931ff4d42e6 commit + 3abe8080ebefee94b2b393b08debd324eefa92a1 blob - 059eaa8e6eab47815fe27e61729bced6196ccbd1 blob + 119f156a6803a5c838deca39273c603545bf28a2 --- tog/tog.c +++ tog/tog.c @@ -1447,15 +1447,12 @@ log_thread(void *arg) a->commits_needed--; errcode = pthread_mutex_lock(&tog_mutex); - if (errcode) - return (void *)got_error_set_errno(errcode); - - if (done) - a->log_complete = 1; - else if (*a->quit) { + if (errcode) { + err = got_error_set_errno(errcode); + break; + } else if (*a->quit) done = 1; - a->log_complete = 1; - } else if (*a->first_displayed_entry == NULL) { + else if (*a->first_displayed_entry == NULL) { *a->first_displayed_entry = TAILQ_FIRST(&a->commits->head); *a->selected_entry = *a->first_displayed_entry; @@ -1474,6 +1471,7 @@ log_thread(void *arg) if (errcode && err == NULL) err = got_error_set_errno(errcode); } + a->log_complete = 1; return (void *)err; }