mirror of
https://github.com/python/cpython
synced 2026-09-28 02:33:18 +03:00
Issue #16421: allow to load multiple modules from the same shared object.
Patch by Václav Šmilauer.
This commit is contained in:
parent
f76f0eea5c
commit
6b2cbeba58
12 changed files with 887 additions and 10 deletions
57
Modules/_testimportmultiple.c
Normal file
57
Modules/_testimportmultiple.c
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* C extensions module to test importing multiple modules from one compiled
|
||||
* file (issue16421). This file defines 3 modules (_testimportmodule,
|
||||
* foo, bar), only the first one is called the same as the compiled file.
|
||||
*/
|
||||
#include<Python.h>
|
||||
|
||||
static struct PyModuleDef _testimportmultiple = {
|
||||
PyModuleDef_HEAD_INIT,
|
||||
"_testimportmultiple",
|
||||
"_testimportmultiple doc",
|
||||
-1,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
PyMODINIT_FUNC PyInit__testimportmultiple()
|
||||
{
|
||||
return PyModule_Create(&_testimportmultiple);
|
||||
}
|
||||
|
||||
static struct PyModuleDef _foomodule = {
|
||||
PyModuleDef_HEAD_INIT,
|
||||
"foo",
|
||||
"foo doc",
|
||||
-1,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
PyMODINIT_FUNC PyInit_foo()
|
||||
{
|
||||
return PyModule_Create(&_foomodule);
|
||||
}
|
||||
|
||||
static struct PyModuleDef _barmodule = {
|
||||
PyModuleDef_HEAD_INIT,
|
||||
"bar",
|
||||
"bar doc",
|
||||
-1,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
PyMODINIT_FUNC PyInit_bar(){
|
||||
return PyModule_Create(&_barmodule);
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue