#4852: Remove dead code in every thread implementation, unused for many years.
diff --git a/Python/thread_atheos.h b/Python/thread_atheos.h
index c9f5e23..747a6a2 100644
--- a/Python/thread_atheos.h
+++ b/Python/thread_atheos.h
@@ -128,17 +128,14 @@
 }
 
 
-static void do_PyThread_exit_thread(int no_cleanup)
+void PyThread_exit_thread(void)
 {
 	dprintf(("PyThread_exit_thread called\n"));
 
 	/* Thread-safe way to read a variable without a mutex: */
 	if (atomic_add(&thread_count, 0) == 0) {
 		/* No threads around, so exit main(). */
-		if (no_cleanup)
-			_exit(0);
-		else
-			exit(0);
+		exit(0);
 	} else {
 		/* We're a thread */
 		exit_thread(0);
@@ -146,44 +143,6 @@
 }
 
 
-void PyThread_exit_thread(void)
-{
-	do_PyThread_exit_thread(0);
-}
-
-
-void PyThread__exit_thread(void)
-{
-	do_PyThread_exit_thread(1);
-}
-
-
-#ifndef NO_EXIT_PROG
-static void do_PyThread_exit_prog(int status, int no_cleanup)
-{
-	dprintf(("PyThread_exit_prog(%d) called\n", status));
-
-	/* No need to do anything, the threads get torn down if main()exits. */
-	if (no_cleanup)
-		_exit(status);
-	else
-		exit(status);
-}
-
-
-void PyThread_exit_prog(int status)
-{
-	do_PyThread_exit_prog(status, 0);
-}
-
-
-void PyThread__exit_prog(int status)
-{
-	do_PyThread_exit_prog(status, 1);
-}
-#endif				/* NO_EXIT_PROG */
-
-
 /*
  * Lock support.
  *