Detach pthread from within the api thread in case it is terminated due to not being instantiated before pthread_cancel is called from main, leading to a segfault.
diff --git a/cgminer.c b/cgminer.c
index 52e92f5..df9feee 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -3370,6 +3370,7 @@ static void *api_thread(void *userdata)
{
struct thr_info *mythr = userdata;
+ pthread_detach(pthread_self());
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
api(api_thr_id);
@@ -5558,8 +5559,6 @@ begin_bench:
thr = &thr_info[api_thr_id];
if (thr_info_create(thr, NULL, api_thread, thr))
quit(1, "API thread create failed");
- pthread_detach(thr->pth);
-
#ifdef HAVE_CURSES
/* Create curses input thread for keyboard input. Create this last so