Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
cython
Commits
3cb95b76
Commit
3cb95b76
authored
6 years ago
by
Stefan Behnel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Mark error raising code in PEP 489 init phase as TODO.
parent
429936a2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
6 deletions
+6
-6
Cython/Compiler/ModuleNode.py
Cython/Compiler/ModuleNode.py
+6
-6
No files found.
Cython/Compiler/ModuleNode.py
View file @
3cb95b76
...
...
@@ -2325,20 +2325,20 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
code
.
put_declare_refcount_context
()
code
.
putln
(
"#if CYTHON_PEP489_MULTI_PHASE_INIT"
)
# Most extension modules simply can't deal with it, and Cython isn't ready either.
# See issues listed here: https://docs.python.org/3/c-api/init.html#sub-interpreter-support
code
.
putln
(
"if (%s) {"
%
Naming
.
module_cname
)
# Hack: enforce single initialisation.
code
.
putln
(
"if (%s && %s == %s) return 0;"
%
(
Naming
.
module_cname
,
code
.
putln
(
"if (%s == %s) return 0;"
%
(
Naming
.
module_cname
,
Naming
.
pymodinit_module_arg
,
))
# # Most extension modules simply can't deal with it, and Cython isn't ready either.
# # See issues listed here: https://docs.python.org/3/c-api/init.html#sub-interpreter-support
# code.putln("if (%s) {" % Naming.module_cname)
# TODO: We should raise an exception here, as long as Cython cannot actually support reinitialisation.
# code.putln('PyErr_SetString(PyExc_RuntimeError,'
# ' "Module \'%s\' has already been imported. Re-initialisation is not supported");' %
# env.module_name)
# code.putln("return -1;")
#
code.putln("}")
code
.
putln
(
"}"
)
code
.
putln
(
"#elif PY_MAJOR_VERSION >= 3"
)
# Hack: enforce single initialisation also on reimports under different names on Python 3 (with PEP 3121/489).
code
.
putln
(
"if (%s) return __Pyx_NewRef(%s);"
%
(
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment