commit 510e8b0a9e13a975b329998e2e097877f6b8d8f3 from: Stefan Sperling date: Mon Oct 22 20:51:58 2018 UTC ncurses isn't thread-safe; disable ncurses calls in secondary threads commit - cc5bac6611e9a2b1a911d4a98ba7d1b2a4eb7d4c commit + 510e8b0a9e13a975b329998e2e097877f6b8d8f3 blob - 00b4e68c133b60766f61df74c51ec08d0b5a1031 blob + 8c2e7417c2f1e8a36b7396c846e80367dc586486 --- tog/tog.c +++ tog/tog.c @@ -1281,10 +1281,12 @@ log_thread(void *arg) a->selected_entry, *a->first_displayed_entry, a->commits, *a->selected, a->view->nlines, a->in_repo_path, a->commits_needed); - +#if 0 /* XXX ncurses isn't thread-safe */ + if (!err) { update_panels(); doupdate(); - + } +#endif if (done) a->commits_needed = 0; else if (a->commits_needed == 0) { @@ -2218,10 +2220,12 @@ blame_cb(void *arg, int nlines, int lineno, struct got err = draw_blame(a->view, a->commit_id, a->f, a->path, a->lines, a->nlines, 0, *a->selected_line, a->first_displayed_line, a->last_displayed_line, a->eof, a->view->nlines); +#if 0 /* XXX ncurses isn't thread-safe */ if (!err) { update_panels(); doupdate(); } +#endif done: errcode = pthread_mutex_unlock(&tog_mutex); if (errcode) @@ -2252,10 +2256,12 @@ blame_thread(void *arg) a->lines, a->nlines, 1, *a->selected_line, a->first_displayed_line, a->last_displayed_line, a->eof, a->view->nlines); +#if 0 /* XXX ncurses isn't thread-safe */ if (!err) { update_panels(); doupdate(); } +#endif } errcode = pthread_mutex_unlock(&tog_mutex);