Oops. In the tp_name field, the name should be "_socket.socket", not
"socket.socket" -- on Windows, "socket.socket" is the wrapper class.
Also added the module name to the SSL type (which is not a new-style
class -- I don't want to mess with it yet).
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 99761f4..f1b68c9 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1853,7 +1853,7 @@
static PyTypeObject PySocketSock_Type = {
PyObject_HEAD_INIT(0) /* Must fill in type value later */
0, /* ob_size */
- "socket.socket", /* tp_name */
+ "_socket.socket", /* tp_name */
sizeof(PySocketSockObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)PySocketSock_dealloc, /* tp_dealloc */
@@ -2867,7 +2867,7 @@
staticforward PyTypeObject PySSL_Type = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
- "SSL", /*tp_name*/
+ "_socket.SSL", /*tp_name*/
sizeof(PySSLObject), /*tp_basicsize*/
0, /*tp_itemsize*/
/* methods */