Rename thread to _thread and dummy_thread to _dummy_thread. Issue #2875.
diff --git a/Modules/Setup.config.in b/Modules/Setup.config.in
index fed62e9..5ac2404 100644
--- a/Modules/Setup.config.in
+++ b/Modules/Setup.config.in
@@ -4,7 +4,7 @@
 # based on configure-time options.
 
 # Threading
-@USE_THREAD_MODULE@thread threadmodule.c
+@USE_THREAD_MODULE@_thread _threadmodule.c
 
 # The signal module
 @USE_SIGNAL_MODULE@signal signalmodule.c
diff --git a/Modules/threadmodule.c b/Modules/_threadmodule.c
similarity index 99%
rename from Modules/threadmodule.c
rename to Modules/_threadmodule.c
index b8b7fb5..971ff56 100644
--- a/Modules/threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -688,7 +688,7 @@
 will block until another thread unlocks it.  Deadlocks may ensue.");
 
 PyMODINIT_FUNC
-initthread(void)
+init_thread(void)
 {
 	PyObject *m, *d;
 	
@@ -699,13 +699,13 @@
 		return;
 
 	/* Create the module and add the functions */
-	m = Py_InitModule3("thread", thread_methods, thread_doc);
+	m = Py_InitModule3("_thread", thread_methods, thread_doc);
 	if (m == NULL)
 		return;
 
 	/* Add a symbolic constant */
 	d = PyModule_GetDict(m);
-	ThreadError = PyErr_NewException("thread.error", NULL, NULL);
+	ThreadError = PyErr_NewException("_thread.error", NULL, NULL);
 	PyDict_SetItemString(d, "error", ThreadError);
 	Locktype.tp_doc = lock_doc;
 	Py_INCREF(&Locktype);