commit - eb89db648e0a82e2d370c28a8725f8b57fd437de
commit + 82954512f323c8a2d4f89d51be1e6b0f707b6c3a
blob - ca9591498c8d4a77dd452d5394cd10141c63e07f
blob + 99c464bbb1c0922bc325ee00100e39b70f857f7f
--- tog/tog.c
+++ tog/tog.c
*focus = NULL;
if (view->searching && !view->search_next_done) {
+ errcode = pthread_mutex_unlock(&tog_mutex);
+ if (errcode)
+ return got_error_set_errno(errcode,
+ "pthread_mutex_unlock");
+ pthread_yield();
+ errcode = pthread_mutex_lock(&tog_mutex);
+ if (errcode)
+ return got_error_set_errno(errcode,
+ "pthread_mutex_lock");
view->search_next(view);
return NULL;
}
if (errcode)
return got_error_set_errno(errcode,
"pthread_cond_signal");
+ errcode = pthread_mutex_unlock(&tog_mutex);
+ if (errcode)
+ return got_error_set_errno(errcode,
+ "pthread_mutex_unlock");
+ pthread_yield();
+ errcode = pthread_mutex_lock(&tog_mutex);
+ if (errcode)
+ return got_error_set_errno(errcode,
+ "pthread_mutex_lock");
+
if (*commits_needed > 0 && (!load_all || --max_wait <= 0)) {
/*
* Thread is not done yet; lose a key press