diff -Nur mod_python-3.3.1.orig/src/connobject.c mod_python-3.3.1/src/connobject.c --- mod_python-3.3.1.orig/src/connobject.c 2006-12-03 15:36:37.000000000 +1100 +++ mod_python-3.3.1/src/connobject.c 2010-10-20 19:33:28.853600297 +1100 @@ -426,7 +426,7 @@ return (PyObject *)self->hlo; } else if (strcmp(name, "_conn_rec") == 0) { - return PyCObject_FromVoidPtr(self->conn, 0); + return PyCapsule_New(self->conn, "MpConn", 0); } else return PyMember_Get((char *)self->conn, conn_memberlist, name); diff -Nur mod_python-3.3.1.orig/src/mod_python.c mod_python-3.3.1/src/mod_python.c --- mod_python-3.3.1.orig/src/mod_python.c 2006-11-09 17:21:23.000000000 +1100 +++ mod_python-3.3.1/src/mod_python.c 2010-10-20 19:34:44.124630590 +1100 @@ -182,7 +182,7 @@ idata->istate = istate; /* obcallback will be created on first use */ idata->obcallback = NULL; - p = PyCObject_FromVoidPtr((void *) idata, NULL); + p = PyCapsule_New((void *) idata, "MpInterpreterData", NULL); PyDict_SetItemString(interpreters, (char *)name, p); Py_DECREF(p); @@ -261,7 +261,7 @@ idata = save_interpreter(name, istate); } else { - idata = (interpreterdata *)PyCObject_AsVoidPtr(p); + idata = (interpreterdata *)PyCapsule_GetPointer(p, "MpInterpreterData"); } #ifdef WITH_THREAD diff -Nur mod_python-3.3.1.orig/src/requestobject.c mod_python-3.3.1/src/requestobject.c --- mod_python-3.3.1.orig/src/requestobject.c 2006-12-03 15:36:37.000000000 +1100 +++ mod_python-3.3.1/src/requestobject.c 2010-10-20 19:33:28.853600297 +1100 @@ -1611,7 +1611,7 @@ } } else if (strcmp(name, "_request_rec") == 0) { - return PyCObject_FromVoidPtr(self->request_rec, 0); + return PyCapsule_New(self->request_rec, "MpRequest", 0); } else return PyMember_GetOne((char*)self->request_rec, diff -Nur mod_python-3.3.1.orig/src/serverobject.c mod_python-3.3.1/src/serverobject.c --- mod_python-3.3.1.orig/src/serverobject.c 2006-12-03 15:36:37.000000000 +1100 +++ mod_python-3.3.1/src/serverobject.c 2010-10-20 19:33:28.856933673 +1100 @@ -225,7 +225,7 @@ static PyObject *getsrv_recmbr(serverobject *self, void *name) { if (strcmp(name, "_server_rec") == 0) { - return PyCObject_FromVoidPtr(self->server, 0); + return PyCapsule_New(self->server, "MpServer", 0); } return PyMember_GetOne((char*)self->server, find_memberdef(server_rec_mbrs, name));