Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Revision 41c5d2fb56b25a132015853b2612f012ca39be83 authored by Thomas Heller on 23 February 2010, 20:32:43 UTC, committed by Thomas Heller on 23 February 2010, 20:32:43 UTC
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r78382 | thomas.heller | 2010-02-23 21:25:02 +0100 (Di, 23 Feb 2010) | 11 lines Merged revisions 78380 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r78380 | thomas.heller | 2010-02-23 21:11:44 +0100 (Di, 23 Feb 2010) | 4 lines ctypes CThunkObject was not registered correctly with the cycle garbage collector, leading to possible leaks when using callback functions. ........ ................
1 parent f99f67b
Tip revision: 41c5d2fb56b25a132015853b2612f012ca39be83 authored by Thomas Heller on 23 February 2010, 20:32:43 UTC
Merged revisions 78382 via svnmerge from
Merged revisions 78382 via svnmerge from
Tip revision: 41c5d2f
dynload_os2.c
/* Support for dynamic loading of extension modules */
#define INCL_DOSERRORS
#define INCL_DOSMODULEMGR
#include <os2.h>
#include "Python.h"
#include "importdl.h"
const struct filedescr _PyImport_DynLoadFiletab[] = {
{".pyd", "rb", C_EXTENSION},
{".dll", "rb", C_EXTENSION},
{0, 0}
};
dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,
const char *pathname, FILE *fp)
{
dl_funcptr p;
APIRET rc;
HMODULE hDLL;
char failreason[256];
char funcname[258];
rc = DosLoadModule(failreason,
sizeof(failreason),
pathname,
&hDLL);
if (rc != NO_ERROR) {
char errBuf[256];
PyOS_snprintf(errBuf, sizeof(errBuf),
"DLL load failed, rc = %d: %.200s",
rc, failreason);
PyErr_SetString(PyExc_ImportError, errBuf);
return NULL;
}
PyOS_snprintf(funcname, sizeof(funcname), "PyInit_%.200s", shortname);
rc = DosQueryProcAddr(hDLL, 0L, funcname, &p);
if (rc != NO_ERROR)
p = NULL; /* Signify Failure to Acquire Entrypoint */
return p;
}
Computing file changes ...