mirror of
https://github.com/boostorg/python.git
synced 2026-01-19 04:22:16 +00:00
Implement optional arguments for BOOST_PYTHON_MODULE_INIT and allow the
boost::python::mod_gil_not_used() option. This sets the
Py_MOD_GIL_NOT_USED flag for the extension module.
To define a module that supports free-threaded Python, define it
like this:
BOOST_PYTHON_MODULE(my_module, boost::python::mod_gil_not_used())
{
...
}
30 lines
644 B
Python
30 lines
644 B
Python
"""
|
|
>>> from module_nogil_ext import *
|
|
>>> get_value()
|
|
1234
|
|
>>> import sys, sysconfig
|
|
>>> Py_GIL_DISABLED = bool(sysconfig.get_config_var('Py_GIL_DISABLED'))
|
|
>>> if Py_GIL_DISABLED and sys._is_gil_enabled():
|
|
... print('GIL is enabled and should not be')
|
|
... else:
|
|
... print('okay')
|
|
okay
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
|
|
def run(args = None):
|
|
import sys
|
|
import doctest
|
|
|
|
if args is not None:
|
|
sys.argv = args
|
|
return doctest.testmod(sys.modules.get(__name__))
|
|
|
|
if __name__ == '__main__':
|
|
print("running...")
|
|
import sys
|
|
status = run()[0]
|
|
if (status == 0): print("Done.")
|
|
sys.exit(status)
|