diff --git a/common/thread.c b/common/thread.c
index fdc8112..eb535ab 100644
--- a/common/thread.c
+++ b/common/thread.c
@@ -1,8 +1,8 @@
 /*
  * thread.c
  *
- * Copyright (c) 2012 Martin Szulecki All Rights Reserved.
- * Copyright (c) 2012 Nikias Bassen All Rights Reserved.
+ * Copyright (c) 2012-2019 Nikias Bassen, All Rights Reserved.
+ * Copyright (c) 2012 Martin Szulecki, All Rights Reserved.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -19,9 +19,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
 #include "thread.h"
 
-int thread_new(thread_t *thread, thread_func_t thread_func, void* data)
+int thread_new(THREAD_T *thread, thread_func_t thread_func, void* data)
 {
 #ifdef WIN32
 	HANDLE th = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)thread_func, data, 0, NULL);
@@ -36,20 +39,51 @@
 #endif
 }
 
-void thread_free(thread_t thread)
+void thread_detach(THREAD_T thread)
+{
+#ifdef WIN32
+	CloseHandle(thread);
+#else
+	pthread_detach(thread);
+#endif
+}
+
+void thread_free(THREAD_T thread)
 {
 #ifdef WIN32
 	CloseHandle(thread);
 #endif
 }
 
-void thread_join(thread_t thread)
+int thread_join(THREAD_T thread)
 {
 	/* wait for thread to complete */
 #ifdef WIN32
-	WaitForSingleObject(thread, INFINITE);
+	return (int)WaitForSingleObject(thread, INFINITE);
 #else
-	pthread_join(thread, NULL);
+	return pthread_join(thread, NULL);
+#endif
+}
+
+int thread_alive(THREAD_T thread)
+{
+#ifdef WIN32
+	return WaitForSingleObject(thread, 0) == WAIT_TIMEOUT;
+#else
+	return pthread_kill(thread, 0) == 0;
+#endif
+}
+
+int thread_cancel(THREAD_T thread)
+{
+#ifdef WIN32
+	return -1;
+#else
+#ifdef HAVE_PTHREAD_CANCEL
+	return pthread_cancel(thread);
+#else
+	return -1;
+#endif
 #endif
 }
 
diff --git a/common/thread.h b/common/thread.h
index bd53c5b..23e4510 100644
--- a/common/thread.h
+++ b/common/thread.h
@@ -1,8 +1,8 @@
 /*
  * thread.h
  *
- * Copyright (c) 2012 Martin Szulecki All Rights Reserved.
- * Copyright (c) 2012 Nikias Bassen All Rights Reserved.
+ * Copyright (c) 2012-2019 Nikias Bassen, All Rights Reserved.
+ * Copyright (c) 2012 Martin Szulecki, All Rights Reserved.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -22,9 +22,11 @@
 #ifndef __THREAD_H
 #define __THREAD_H
 
+#include <stddef.h>
+
 #ifdef WIN32
 #include <windows.h>
-typedef HANDLE thread_t;
+typedef HANDLE THREAD_T;
 typedef CRITICAL_SECTION mutex_t;
 typedef volatile struct {
 	LONG lock;
@@ -32,20 +34,37 @@
 } thread_once_t;
 #define THREAD_ONCE_INIT {0, 0}
 #define THREAD_ID GetCurrentThreadId()
+#define THREAD_T_NULL (THREAD_T)NULL
 #else
 #include <pthread.h>
-typedef pthread_t thread_t;
+#include <signal.h>
+typedef pthread_t THREAD_T;
 typedef pthread_mutex_t mutex_t;
 typedef pthread_once_t thread_once_t;
 #define THREAD_ONCE_INIT PTHREAD_ONCE_INIT
 #define THREAD_ID pthread_self()
+#define THREAD_T_NULL (THREAD_T)NULL
 #endif
 
 typedef void* (*thread_func_t)(void* data);
 
-int thread_new(thread_t* thread, thread_func_t thread_func, void* data);
-void thread_free(thread_t thread);
-void thread_join(thread_t thread);
+int thread_new(THREAD_T* thread, thread_func_t thread_func, void* data);
+void thread_detach(THREAD_T thread);
+void thread_free(THREAD_T thread);
+int thread_join(THREAD_T thread);
+int thread_alive(THREAD_T thread);
+
+int thread_cancel(THREAD_T thread);
+
+#ifdef WIN32
+#undef HAVE_THREAD_CLEANUP
+#else
+#ifdef HAVE_PTHREAD_CANCEL
+#define HAVE_THREAD_CLEANUP 1
+#define thread_cleanup_push(routine, arg) pthread_cleanup_push(routine, arg)
+#define thread_cleanup_pop(execute) pthread_cleanup_pop(execute)
+#endif
+#endif
 
 void mutex_init(mutex_t* mutex);
 void mutex_destroy(mutex_t* mutex);
diff --git a/src/installation_proxy.c b/src/installation_proxy.c
index f82eecc..24044aa 100644
--- a/src/installation_proxy.c
+++ b/src/installation_proxy.c
@@ -20,6 +20,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
 #include <string.h>
 #include <stdlib.h>
 #include <inttypes.h>
@@ -240,7 +243,7 @@
 	instproxy_client_t client_loc = (instproxy_client_t) malloc(sizeof(struct instproxy_client_private));
 	client_loc->parent = plistclient;
 	mutex_init(&client_loc->mutex);
-	client_loc->receive_status_thread = (thread_t)NULL;
+	client_loc->receive_status_thread = THREAD_T_NULL;
 
 	*client = client_loc;
 	return INSTPROXY_E_SUCCESS;
@@ -264,7 +267,7 @@
 		debug_info("joining receive_status_thread");
 		thread_join(client->receive_status_thread);
 		thread_free(client->receive_status_thread);
-		client->receive_status_thread = (thread_t)NULL;
+		client->receive_status_thread = THREAD_T_NULL;
 	}
 	mutex_destroy(&client->mutex);
 	free(client);
@@ -343,7 +346,7 @@
 
 		/* parse status response */
 		if (node) {
-			/* check status for possible error to allow reporting it and aborting it gracefully */
+			/* check status for possible error to allow reporting it and aborting it gracefully */
 			res = instproxy_status_get_error(node, &error_name, &error_description, &error_code);
 			if (res != INSTPROXY_E_SUCCESS) {
 				debug_info("command: %s, error %d, code 0x%08"PRIx64", name: %s, description: \"%s\"", command_name, res, error_code, error_name, error_description ? error_description: "N/A");
@@ -431,7 +434,7 @@
 
 	if (data->client->receive_status_thread) {
 		thread_free(data->client->receive_status_thread);
-		data->client->receive_status_thread = (thread_t)NULL;
+		data->client->receive_status_thread = THREAD_T_NULL;
 	}
 
 	instproxy_unlock(data->client);
diff --git a/src/installation_proxy.h b/src/installation_proxy.h
index bbc14ce..66dd5d0 100644
--- a/src/installation_proxy.h
+++ b/src/installation_proxy.h
@@ -30,7 +30,7 @@
 struct instproxy_client_private {
 	property_list_service_client_t parent;
 	mutex_t mutex;
-	thread_t receive_status_thread;
+	THREAD_T receive_status_thread;
 };
 
 #endif
diff --git a/src/notification_proxy.c b/src/notification_proxy.c
index c0b216e..3015ed9 100644
--- a/src/notification_proxy.c
+++ b/src/notification_proxy.c
@@ -98,7 +98,7 @@
 	client_loc->parent = plistclient;
 
 	mutex_init(&client_loc->mutex);
-	client_loc->notifier = (thread_t)NULL;
+	client_loc->notifier = THREAD_T_NULL;
 
 	*client = client_loc;
 	return NP_E_SUCCESS;
@@ -132,7 +132,7 @@
 		debug_info("joining np callback");
 		thread_join(client->notifier);
 		thread_free(client->notifier);
-		client->notifier = (thread_t)NULL;
+		client->notifier = THREAD_T_NULL;
 	} else {
 		dict = NULL;
 		property_list_service_receive_plist(parent, &dict);
@@ -350,7 +350,7 @@
 		client->parent = NULL;
 		thread_join(client->notifier);
 		thread_free(client->notifier);
-		client->notifier = (thread_t)NULL;
+		client->notifier = THREAD_T_NULL;
 		client->parent = parent;
 	}
 
diff --git a/src/notification_proxy.h b/src/notification_proxy.h
index cc25a95..f641e25 100644
--- a/src/notification_proxy.h
+++ b/src/notification_proxy.h
@@ -29,7 +29,7 @@
 struct np_client_private {
 	property_list_service_client_t parent;
 	mutex_t mutex;
-	thread_t notifier;
+	THREAD_T notifier;
 };
 
 void* np_notifier(void* arg);
diff --git a/src/syslog_relay.c b/src/syslog_relay.c
index 29f4de5..3be84e0 100644
--- a/src/syslog_relay.c
+++ b/src/syslog_relay.c
@@ -81,7 +81,7 @@
 
 	syslog_relay_client_t client_loc = (syslog_relay_client_t) malloc(sizeof(struct syslog_relay_client_private));
 	client_loc->parent = parent;
-	client_loc->worker = (thread_t)NULL;
+	client_loc->worker = THREAD_T_NULL;
 
 	*client = client_loc;
 
@@ -107,7 +107,7 @@
 		debug_info("Joining syslog capture callback worker thread");
 		thread_join(client->worker);
 		thread_free(client->worker);
-		client->worker = (thread_t)NULL;
+		client->worker = THREAD_T_NULL;
 	}
 	free(client);
 
@@ -209,9 +209,9 @@
 		/* join thread to make it exit */
 		thread_join(client->worker);
 		thread_free(client->worker);
-		client->worker = (thread_t)NULL;
+		client->worker = THREAD_T_NULL;
 		client->parent = parent;
 	}
 
 	return SYSLOG_RELAY_E_SUCCESS;
-}
\ No newline at end of file
+}
diff --git a/src/syslog_relay.h b/src/syslog_relay.h
index cd45775..3e48fa4 100644
--- a/src/syslog_relay.h
+++ b/src/syslog_relay.h
@@ -28,7 +28,7 @@
 
 struct syslog_relay_client_private {
 	service_client_t parent;
-	thread_t worker;
+	THREAD_T worker;
 };
 
 void *syslog_relay_worker(void *arg);
diff --git a/tools/idevicedebugserverproxy.c b/tools/idevicedebugserverproxy.c
index 0b0419b..e99d0bf 100644
--- a/tools/idevicedebugserverproxy.c
+++ b/tools/idevicedebugserverproxy.c
@@ -50,7 +50,7 @@
 } socket_info_t;
 
 struct thread_info {
-	thread_t th;
+	THREAD_T th;
 	struct thread_info *next;
 };
 
@@ -140,7 +140,7 @@
 	int recv_len;
 	int sent;
 	char buffer[131072];
-	thread_t dtoc;
+	THREAD_T dtoc;
 
 	debug("%s: started thread...\n", __func__);
 
@@ -205,7 +205,7 @@
 {
 	debugserver_error_t derr = DEBUGSERVER_E_SUCCESS;
 	socket_info_t* socket_info = (socket_info_t*)data;
-	thread_t ctod;
+	THREAD_T ctod;
 
 	debug("%s: client_fd = %d\n", __func__, socket_info->client_fd);
 
