mirror of https://github.com/python/cpython.git
Fix typos (#123775)
(cherry picked from commit 9017b95ff2
)
Co-authored-by: algonell <algonell@gmail.com>
This commit is contained in:
parent
2a40dda89d
commit
d432fa43b9
|
@ -100,7 +100,7 @@ JNIEXPORT void JNICALL Java_org_python_testbed_PythonTestRunner_redirectStdioToL
|
|||
}
|
||||
|
||||
|
||||
// --- Python intialization ----------------------------------------------------
|
||||
// --- Python initialization ---------------------------------------------------
|
||||
|
||||
static PyStatus set_config_string(
|
||||
JNIEnv *env, PyConfig *config, wchar_t **config_str, jstring value
|
||||
|
|
|
@ -442,7 +442,7 @@ def __setitem__(self, key, value):
|
|||
# accepts iterable as multiple arguments?
|
||||
value = t(auto_valued)
|
||||
except TypeError:
|
||||
# then pass them in singlely
|
||||
# then pass them in singly
|
||||
value = t(*auto_valued)
|
||||
self._member_names[key] = None
|
||||
if non_auto_store:
|
||||
|
|
|
@ -1663,7 +1663,7 @@ ddfma375087 fma 1 12345678 1E-33 -> 12345678.00000001 Inexac
|
|||
ddfma375088 fma 1 12345678 1E-34 -> 12345678.00000001 Inexact Rounded
|
||||
ddfma375089 fma 1 12345678 1E-35 -> 12345678.00000001 Inexact Rounded
|
||||
|
||||
-- desctructive subtraction (from remainder tests)
|
||||
-- destructive subtraction (from remainder tests)
|
||||
|
||||
-- +++ some of these will be off-by-one remainder vs remainderNear
|
||||
|
||||
|
|
|
@ -462,7 +462,7 @@ ddqua520 quantize 1.234 1e359 -> 0E+359 Inexact Rounded
|
|||
ddqua521 quantize 123.456 1e359 -> 0E+359 Inexact Rounded
|
||||
ddqua522 quantize 1.234 1e359 -> 0E+359 Inexact Rounded
|
||||
ddqua523 quantize 123.456 1e359 -> 0E+359 Inexact Rounded
|
||||
-- next four are "won't fit" overfl
|
||||
-- next four are "won't fit" overflow
|
||||
ddqua526 quantize 1.234 1e-299 -> NaN Invalid_operation
|
||||
ddqua527 quantize 123.456 1e-299 -> NaN Invalid_operation
|
||||
ddqua528 quantize 1.234 1e-299 -> NaN Invalid_operation
|
||||
|
|
|
@ -422,7 +422,7 @@ ddrem757 remainder 1 sNaN -> NaN Invalid_operation
|
|||
ddrem758 remainder 1000 sNaN -> NaN Invalid_operation
|
||||
ddrem759 remainder Inf -sNaN -> -NaN Invalid_operation
|
||||
|
||||
-- propaging NaNs
|
||||
-- propagating NaNs
|
||||
ddrem760 remainder NaN1 NaN7 -> NaN1
|
||||
ddrem761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation
|
||||
ddrem762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation
|
||||
|
|
|
@ -450,7 +450,7 @@ ddrmn757 remaindernear 1 sNaN -> NaN Invalid_operation
|
|||
ddrmn758 remaindernear 1000 sNaN -> NaN Invalid_operation
|
||||
ddrmn759 remaindernear Inf -sNaN -> -NaN Invalid_operation
|
||||
|
||||
-- propaging NaNs
|
||||
-- propagating NaNs
|
||||
ddrmn760 remaindernear NaN1 NaN7 -> NaN1
|
||||
ddrmn761 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation
|
||||
ddrmn762 remaindernear NaN3 sNaN9 -> NaN9 Invalid_operation
|
||||
|
|
|
@ -418,7 +418,7 @@ dqrem757 remainder 1 sNaN -> NaN Invalid_operation
|
|||
dqrem758 remainder 1000 sNaN -> NaN Invalid_operation
|
||||
dqrem759 remainder Inf -sNaN -> -NaN Invalid_operation
|
||||
|
||||
-- propaging NaNs
|
||||
-- propagating NaNs
|
||||
dqrem760 remainder NaN1 NaN7 -> NaN1
|
||||
dqrem761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation
|
||||
dqrem762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation
|
||||
|
|
|
@ -450,7 +450,7 @@ dqrmn757 remaindernear 1 sNaN -> NaN Invalid_operation
|
|||
dqrmn758 remaindernear 1000 sNaN -> NaN Invalid_operation
|
||||
dqrmn759 remaindernear Inf -sNaN -> -NaN Invalid_operation
|
||||
|
||||
-- propaging NaNs
|
||||
-- propagating NaNs
|
||||
dqrmn760 remaindernear NaN1 NaN7 -> NaN1
|
||||
dqrmn761 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation
|
||||
dqrmn762 remaindernear NaN3 sNaN9 -> NaN9 Invalid_operation
|
||||
|
|
|
@ -28,7 +28,7 @@ rounding: half_even
|
|||
maxExponent: 384
|
||||
minexponent: -383
|
||||
|
||||
-- basics (examples in specificiation, etc.)
|
||||
-- basics (examples in specification, etc.)
|
||||
expx001 exp -Infinity -> 0
|
||||
expx002 exp -10 -> 0.0000453999298 Inexact Rounded
|
||||
expx003 exp -1 -> 0.367879441 Inexact Rounded
|
||||
|
|
|
@ -435,7 +435,7 @@ remx757 remainder 1 sNaN -> NaN Invalid_operation
|
|||
remx758 remainder 1000 sNaN -> NaN Invalid_operation
|
||||
remx759 remainder Inf -sNaN -> -NaN Invalid_operation
|
||||
|
||||
-- propaging NaNs
|
||||
-- propagating NaNs
|
||||
remx760 remainder NaN1 NaN7 -> NaN1
|
||||
remx761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation
|
||||
remx762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation
|
||||
|
|
|
@ -498,7 +498,7 @@ rmnx758 remaindernear 1000 sNaN -> NaN Invalid_operation
|
|||
rmnx759 remaindernear Inf sNaN -> NaN Invalid_operation
|
||||
rmnx760 remaindernear NaN sNaN -> NaN Invalid_operation
|
||||
|
||||
-- propaging NaNs
|
||||
-- propagating NaNs
|
||||
rmnx761 remaindernear NaN1 NaN7 -> NaN1
|
||||
rmnx762 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation
|
||||
rmnx763 remaindernear NaN3 -sNaN9 -> -NaN9 Invalid_operation
|
||||
|
|
|
@ -523,7 +523,7 @@ def _run_tests(self, selected: TestTuple, tests: TestList | None) -> int:
|
|||
setup_process()
|
||||
|
||||
if (runtests.hunt_refleak is not None) and (not self.num_workers):
|
||||
# gh-109739: WindowsLoadTracker thread interfers with refleak check
|
||||
# gh-109739: WindowsLoadTracker thread interferes with refleak check
|
||||
use_load_tracker = False
|
||||
else:
|
||||
# WindowsLoadTracker is only needed on Windows
|
||||
|
|
|
@ -784,7 +784,7 @@ def get_signal_name(exitcode):
|
|||
# Special Unicode characters
|
||||
'\uFFFE'
|
||||
'\uFFFF'
|
||||
# Match multiple sequential invalid characters for better effiency
|
||||
# Match multiple sequential invalid characters for better efficiency
|
||||
']+')
|
||||
|
||||
def _sanitize_xml_replace(regs):
|
||||
|
|
|
@ -51,7 +51,7 @@ nan
|
|||
>>> INF / INF
|
||||
nan
|
||||
|
||||
However unambigous operations with inf return inf:
|
||||
However unambiguous operations with inf return inf:
|
||||
>>> INF * INF
|
||||
inf
|
||||
>>> 1.5 * INF
|
||||
|
|
|
@ -2061,7 +2061,7 @@ def persistent_id(self, obj):
|
|||
@support.cpython_only
|
||||
def test_bad_ext_code(self):
|
||||
# This should never happen in normal circumstances, because the type
|
||||
# and the value of the extesion code is checked in copyreg.add_extension().
|
||||
# and the value of the extension code is checked in copyreg.add_extension().
|
||||
key = (__name__, 'MyList')
|
||||
def check(code, exc):
|
||||
assert key not in copyreg._extension_registry
|
||||
|
|
|
@ -916,7 +916,7 @@ class C:
|
|||
C.a
|
||||
C.a
|
||||
|
||||
# destructor shouldn't be able to see inconsisent state
|
||||
# destructor shouldn't be able to see inconsistent state
|
||||
C.a = X()
|
||||
C.a = X()
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ def test_exit_at_task_unpickle(self):
|
|||
self._check_crash(BrokenProcessPool, id, ExitAtUnpickle())
|
||||
|
||||
def test_error_at_task_unpickle(self):
|
||||
# gh-109832: Restore stderr overriden by _raise_error_ignore_stderr()
|
||||
# gh-109832: Restore stderr overridden by _raise_error_ignore_stderr()
|
||||
self.addCleanup(setattr, sys, 'stderr', sys.stderr)
|
||||
|
||||
# Check problem occurring while unpickling a task on workers
|
||||
|
@ -183,7 +183,7 @@ def test_error_during_result_pickle_on_worker(self):
|
|||
self._check_crash(PicklingError, _return_instance, ErrorAtPickle)
|
||||
|
||||
def test_error_during_result_unpickle_in_result_handler(self):
|
||||
# gh-109832: Restore stderr overriden by _raise_error_ignore_stderr()
|
||||
# gh-109832: Restore stderr overridden by _raise_error_ignore_stderr()
|
||||
self.addCleanup(setattr, sys, 'stderr', sys.stderr)
|
||||
|
||||
# Check problem occurring while unpickling a task in
|
||||
|
|
|
@ -5328,7 +5328,7 @@ def test_convert_value_lookup_priority(self):
|
|||
filter=lambda x: x.startswith('CONVERT_TEST_'))
|
||||
# We don't want the reverse lookup value to vary when there are
|
||||
# multiple possible names for a given value. It should always
|
||||
# report the first lexigraphical name in that case.
|
||||
# report the first lexicographical name in that case.
|
||||
self.assertEqual(test_type(5).name, 'CONVERT_TEST_NAME_A')
|
||||
|
||||
def test_convert_int(self):
|
||||
|
|
|
@ -97,7 +97,7 @@ def typed_approx_eq(a, b):
|
|||
|
||||
class Symbolic:
|
||||
"""Simple non-numeric class for testing mixed arithmetic.
|
||||
It is not Integral, Rational, Real or Complex, and cannot be conveted
|
||||
It is not Integral, Rational, Real or Complex, and cannot be converted
|
||||
to int, float or complex. but it supports some arithmetic operations.
|
||||
"""
|
||||
def __init__(self, value):
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
"""Tests monitoring, sys.settrace, and sys.setprofile in a multi-threaded
|
||||
environmenet to verify things are thread-safe in a free-threaded build"""
|
||||
environment to verify things are thread-safe in a free-threaded build"""
|
||||
|
||||
import sys
|
||||
import time
|
||||
|
|
|
@ -745,13 +745,13 @@ def test_comments(self):
|
|||
}''', 'A complex trick: 2')
|
||||
self.assertEqual(f'''
|
||||
{
|
||||
40 # fourty
|
||||
40 # forty
|
||||
+ # plus
|
||||
2 # two
|
||||
}''', '\n42')
|
||||
self.assertEqual(f'''
|
||||
{
|
||||
40 # fourty
|
||||
40 # forty
|
||||
+ # plus
|
||||
2 # two
|
||||
}''', '\n42')
|
||||
|
|
|
@ -557,7 +557,7 @@ def test_framework_macos(self):
|
|||
ns.add_known_dir("/Library/Frameworks/Python.framework/Versions/9.8/lib/python9.8/lib-dynload")
|
||||
ns.add_known_file("/Library/Frameworks/Python.framework/Versions/9.8/lib/python9.8/os.py")
|
||||
|
||||
# This is definitely not the stdlib (see discusion in bpo-46890)
|
||||
# This is definitely not the stdlib (see discussion in bpo-46890)
|
||||
#ns.add_known_file("/Library/Frameworks/lib/python98.zip")
|
||||
|
||||
expected = dict(
|
||||
|
@ -605,7 +605,7 @@ def test_alt_framework_macos(self):
|
|||
ns.add_known_dir("/Library/Frameworks/DebugPython.framework/Versions/9.8/lib/python9.8/lib-dynload")
|
||||
ns.add_known_xfile("/Library/Frameworks/DebugPython.framework/Versions/9.8/lib/python9.8/os.py")
|
||||
|
||||
# This is definitely not the stdlib (see discusion in bpo-46890)
|
||||
# This is definitely not the stdlib (see discussion in bpo-46890)
|
||||
#ns.add_known_xfile("/Library/lib/python98.zip")
|
||||
expected = dict(
|
||||
executable="/Library/Frameworks/DebugPython.framework/Versions/9.8/bin/python9.8",
|
||||
|
|
|
@ -3748,16 +3748,16 @@ def test_baseconfig(self):
|
|||
'adict': {
|
||||
'd': 'e', 'f': 3 ,
|
||||
'alpha numeric 1 with spaces' : 5,
|
||||
'aplha numeric 1 %( - © ©ß¯' : 9,
|
||||
'alpha numeric 1 %( - © ©ß¯' : 9,
|
||||
'alpha numeric ] 1 with spaces' : 15,
|
||||
'aplha ]] numeric 1 %( - © ©ß¯]' : 19,
|
||||
' aplha [ numeric 1 %( - © ©ß¯] ' : 11,
|
||||
' aplha ' : 32,
|
||||
'alpha ]] numeric 1 %( - © ©ß¯]' : 19,
|
||||
' alpha [ numeric 1 %( - © ©ß¯] ' : 11,
|
||||
' alpha ' : 32,
|
||||
'' : 10,
|
||||
'nest4' : {
|
||||
'd': 'e', 'f': 3 ,
|
||||
'alpha numeric 1 with spaces' : 5,
|
||||
'aplha numeric 1 %( - © ©ß¯' : 9,
|
||||
'alpha numeric 1 %( - © ©ß¯' : 9,
|
||||
'' : 10,
|
||||
'somelist' : ('g', ('h', 'i'), 'j'),
|
||||
'somedict' : {
|
||||
|
@ -3779,14 +3779,14 @@ def test_baseconfig(self):
|
|||
self.assertEqual(bc.convert('cfg://adict.d'), 'e')
|
||||
self.assertEqual(bc.convert('cfg://adict[f]'), 3)
|
||||
self.assertEqual(bc.convert('cfg://adict[alpha numeric 1 with spaces]'), 5)
|
||||
self.assertEqual(bc.convert('cfg://adict[aplha numeric 1 %( - © ©ß¯]'), 9)
|
||||
self.assertEqual(bc.convert('cfg://adict[alpha numeric 1 %( - © ©ß¯]'), 9)
|
||||
self.assertEqual(bc.convert('cfg://adict[]'), 10)
|
||||
self.assertEqual(bc.convert('cfg://adict.nest4.d'), 'e')
|
||||
self.assertEqual(bc.convert('cfg://adict.nest4[d]'), 'e')
|
||||
self.assertEqual(bc.convert('cfg://adict[nest4].d'), 'e')
|
||||
self.assertEqual(bc.convert('cfg://adict[nest4][f]'), 3)
|
||||
self.assertEqual(bc.convert('cfg://adict[nest4][alpha numeric 1 with spaces]'), 5)
|
||||
self.assertEqual(bc.convert('cfg://adict[nest4][aplha numeric 1 %( - © ©ß¯]'), 9)
|
||||
self.assertEqual(bc.convert('cfg://adict[nest4][alpha numeric 1 %( - © ©ß¯]'), 9)
|
||||
self.assertEqual(bc.convert('cfg://adict[nest4][]'), 10)
|
||||
self.assertEqual(bc.convert('cfg://adict[nest4][somelist][0]'), 'g')
|
||||
self.assertEqual(bc.convert('cfg://adict[nest4][somelist][1][0]'), 'h')
|
||||
|
@ -3806,8 +3806,8 @@ def test_baseconfig(self):
|
|||
self.assertRaises(ValueError, bc.convert, 'cfg://!')
|
||||
self.assertRaises(KeyError, bc.convert, 'cfg://adict[2]')
|
||||
self.assertRaises(KeyError, bc.convert, 'cfg://adict[alpha numeric ] 1 with spaces]')
|
||||
self.assertRaises(ValueError, bc.convert, 'cfg://adict[ aplha ]] numeric 1 %( - © ©ß¯] ]')
|
||||
self.assertRaises(ValueError, bc.convert, 'cfg://adict[ aplha [ numeric 1 %( - © ©ß¯] ]')
|
||||
self.assertRaises(ValueError, bc.convert, 'cfg://adict[ alpha ]] numeric 1 %( - © ©ß¯] ]')
|
||||
self.assertRaises(ValueError, bc.convert, 'cfg://adict[ alpha [ numeric 1 %( - © ©ß¯] ]')
|
||||
|
||||
def test_namedtuple(self):
|
||||
# see bpo-39142
|
||||
|
|
|
@ -1402,7 +1402,7 @@ def __repr__(self):
|
|||
return f'Flt({int(self)})'
|
||||
|
||||
def baseline_sumprod(p, q):
|
||||
"""This defines the target behavior including expections and special values.
|
||||
"""This defines the target behavior including exceptions and special values.
|
||||
However, it is subject to rounding errors, so float inputs should be exactly
|
||||
representable with only a few bits.
|
||||
"""
|
||||
|
|
|
@ -64,7 +64,7 @@ class TestConsoleIO(unittest.TestCase):
|
|||
# CREATE_NEW_CONSOLE creates a "popup" window.
|
||||
@requires_resource('gui')
|
||||
def run_in_separated_process(self, code):
|
||||
# Run test in a seprated process to avoid stdin conflicts.
|
||||
# Run test in a separated process to avoid stdin conflicts.
|
||||
# See: gh-110147
|
||||
cmd = [sys.executable, '-c', code]
|
||||
subprocess.run(cmd, check=True, capture_output=True,
|
||||
|
|
|
@ -1271,7 +1271,7 @@ def test_sched_priority(self):
|
|||
self.assertIsInstance(lo, int)
|
||||
self.assertIsInstance(hi, int)
|
||||
self.assertGreaterEqual(hi, lo)
|
||||
# Apple plaforms return 15 without checking the argument.
|
||||
# Apple platforms return 15 without checking the argument.
|
||||
if not is_apple:
|
||||
self.assertRaises(OSError, posix.sched_get_priority_min, -23)
|
||||
self.assertRaises(OSError, posix.sched_get_priority_max, -23)
|
||||
|
|
|
@ -438,7 +438,7 @@ def getter3(self):
|
|||
self.assertEqual(p2.__doc__, "doc-A")
|
||||
|
||||
# Case-3: with no user-provided doc new getter doc
|
||||
# takes precendence
|
||||
# takes precedence
|
||||
p = property(getter2, None, None, None)
|
||||
|
||||
p2 = p.getter(getter3)
|
||||
|
|
|
@ -486,7 +486,7 @@ def _shutdown_get(self, immediate):
|
|||
else:
|
||||
thrds = (
|
||||
# on shutdown(immediate=False)
|
||||
# one of these threads shoud raise Shutdown
|
||||
# one of these threads should raise Shutdown
|
||||
(self._get, (q, go, results)),
|
||||
(self._get, (q, go, results)),
|
||||
(self._get, (q, go, results)),
|
||||
|
|
|
@ -1670,7 +1670,7 @@ def test_getaddrinfo_int_port_overflow(self):
|
|||
try:
|
||||
socket.getaddrinfo(None, ULONG_MAX + 1, type=socket.SOCK_STREAM)
|
||||
except OverflowError:
|
||||
# Platforms differ as to what values consitute a getaddrinfo() error
|
||||
# Platforms differ as to what values constitute a getaddrinfo() error
|
||||
# return. Some fail for LONG_MAX+1, others ULONG_MAX+1, and Windows
|
||||
# silently accepts such huge "port" aka "service" numeric values.
|
||||
self.fail("Either no error or socket.gaierror expected.")
|
||||
|
|
|
@ -131,7 +131,7 @@ def test_eval_str_invalid_escape(self):
|
|||
self.assertEqual(exc.lineno, 1)
|
||||
self.assertEqual(exc.offset, 1)
|
||||
|
||||
# Check that the warning is raised ony once if there are syntax errors
|
||||
# Check that the warning is raised only once if there are syntax errors
|
||||
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
warnings.simplefilter('always', category=SyntaxWarning)
|
||||
|
|
|
@ -1116,7 +1116,7 @@ def test_force_zip64(self):
|
|||
# Because this is hard to verify by parsing the data as a zip, the raw
|
||||
# bytes are checked to ensure that they line up with the zip spec.
|
||||
# The spec for this can be found at: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
|
||||
# The relevent sections for this test are:
|
||||
# The relevant sections for this test are:
|
||||
# - 4.3.7 for local file header
|
||||
# - 4.5.3 for zip64 extra field
|
||||
|
||||
|
@ -1187,7 +1187,7 @@ def test_unseekable_zip_known_filesize(self):
|
|||
# in as a zip, this test looks at the raw bytes created to ensure that
|
||||
# the correct data has been generated.
|
||||
# The spec for this can be found at: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
|
||||
# The relevent sections for this test are:
|
||||
# The relevant sections for this test are:
|
||||
# - 4.3.7 for local file header
|
||||
# - 4.3.9 for the data descriptor
|
||||
# - 4.5.3 for zip64 extra field
|
||||
|
|
|
@ -802,7 +802,7 @@ def testZip64LargeFile(self):
|
|||
"to run"
|
||||
)
|
||||
|
||||
# N.B.: We do alot of gymnastics below in the ZIP_STORED case to save
|
||||
# N.B.: We do a lot of gymnastics below in the ZIP_STORED case to save
|
||||
# and reconstruct a sparse zip on systems that support sparse files.
|
||||
# Instead of creating a ~8GB zip file mainly consisting of null bytes
|
||||
# for every run of the test, we create the zip once and save off the
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
Sorts a shelf of 10 blocks using insertion
|
||||
sort, selection sort and quicksort.
|
||||
|
||||
Shelfs are implemented using builtin lists.
|
||||
Shelves are implemented using builtin lists.
|
||||
|
||||
Blocks are turtles with shape "square", but
|
||||
stretched to rectangles by shapesize()
|
||||
|
|
|
@ -962,7 +962,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
|
|||
$(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)
|
||||
$(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources
|
||||
|
||||
# This rule is for iOS, which requires an annoyingly just slighly different
|
||||
# This rule is for iOS, which requires an annoyingly just slightly different
|
||||
# format for frameworks to macOS. It *doesn't* use a versioned framework, and
|
||||
# the Info.plist must be in the root of the framework.
|
||||
$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK): \
|
||||
|
|
|
@ -74,7 +74,7 @@ PyObject *PyLong_FromSsize_t(Py_ssize_t ival)
|
|||
|
||||
/* tainted sinks
|
||||
*
|
||||
* Coverity considers argv, environ, read() data etc as tained.
|
||||
* Coverity considers argv, environ, read() data etc as tainted.
|
||||
*/
|
||||
|
||||
PyObject *PyErr_SetFromErrnoWithFilename(PyObject *exc, const char *filename)
|
||||
|
|
|
@ -314,8 +314,8 @@ thread_run(void *boot_raw)
|
|||
// gh-108987: If _thread.start_new_thread() is called before or while
|
||||
// Python is being finalized, thread_run() can called *after*.
|
||||
// _PyRuntimeState_SetFinalizing() is called. At this point, all Python
|
||||
// threads must exit, except of the thread calling Py_Finalize() whch holds
|
||||
// the GIL and must not exit.
|
||||
// threads must exit, except of the thread calling Py_Finalize() which
|
||||
// holds the GIL and must not exit.
|
||||
//
|
||||
// At this stage, tstate can be a dangling pointer (point to freed memory),
|
||||
// it's ok to call _PyThreadState_MustExit() with a dangling pointer.
|
||||
|
|
|
@ -72,7 +72,7 @@ bool _mi_bitmap_try_find_claim_field(mi_bitmap_t bitmap, size_t idx, const size_
|
|||
// For now, `count` can be at most MI_BITMAP_FIELD_BITS and will never cross fields.
|
||||
bool _mi_bitmap_try_find_from_claim(mi_bitmap_t bitmap, const size_t bitmap_fields, const size_t start_field_idx, const size_t count, mi_bitmap_index_t* bitmap_idx);
|
||||
|
||||
// Like _mi_bitmap_try_find_from_claim but with an extra predicate that must be fullfilled
|
||||
// Like _mi_bitmap_try_find_from_claim but with an extra predicate that must be fulfilled
|
||||
typedef bool (mi_cdecl *mi_bitmap_pred_fun_t)(mi_bitmap_index_t bitmap_idx, void* pred_arg);
|
||||
bool _mi_bitmap_try_find_from_claim_pred(mi_bitmap_t bitmap, const size_t bitmap_fields, const size_t start_field_idx, const size_t count, mi_bitmap_pred_fun_t pred_fun, void* pred_arg, mi_bitmap_index_t* bitmap_idx);
|
||||
|
||||
|
|
|
@ -560,7 +560,7 @@ void mi_process_init(void) mi_attr_noexcept {
|
|||
_mi_verbose_message("secure level: %d\n", MI_SECURE);
|
||||
_mi_verbose_message("mem tracking: %s\n", MI_TRACK_TOOL);
|
||||
#if MI_TSAN
|
||||
_mi_verbose_message("thread santizer enabled\n");
|
||||
_mi_verbose_message("thread sanitizer enabled\n");
|
||||
#endif
|
||||
mi_thread_init();
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ static mi_segment_t* _mi_segment_of(const void* p) {
|
|||
// TODO: maintain max/min allocated range for efficiency for more efficient rejection of invalid pointers?
|
||||
|
||||
// search downwards for the first segment in case it is an interior pointer
|
||||
// could be slow but searches in MI_INTPTR_SIZE * MI_SEGMENT_SIZE (512MiB) steps trough
|
||||
// could be slow but searches in MI_INTPTR_SIZE * MI_SEGMENT_SIZE (512MiB) steps through
|
||||
// valid huge objects
|
||||
// note: we could maintain a lowest index to speed up the path for invalid pointers?
|
||||
size_t lobitidx;
|
||||
|
|
|
@ -149,7 +149,7 @@ def _iter_top_include_lines(lines, topfile, cwd,
|
|||
raw):
|
||||
partial = 0 # depth
|
||||
files = [topfile]
|
||||
# We start at 1 in case there are source lines (including blank onces)
|
||||
# We start at 1 in case there are source lines (including blank ones)
|
||||
# before the first marker line. Also, we already verified in
|
||||
# _parse_marker_line() that the preprocessor reported lno as 1.
|
||||
lno = 1
|
||||
|
|
|
@ -23758,7 +23758,7 @@ else
|
|||
# While Python doesn't currently have full support for these platforms
|
||||
# (see e.g., issue 1762561), we can at least make sure that float <-> string
|
||||
# conversions work.
|
||||
# FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big
|
||||
# FLOAT_WORDS_BIGENDIAN doesn't actually detect this case, but if it's not big
|
||||
# or little, then it must be this?
|
||||
|
||||
printf "%s\n" "#define DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 1" >>confdefs.h
|
||||
|
|
|
@ -1650,7 +1650,7 @@ then
|
|||
AS_VAR_IF([host_cpu], [wasm64], [AS_VAR_APPEND([HOSTRUNNER], [" --experimental-wasm-memory64"])])
|
||||
],
|
||||
dnl TODO: support other WASI runtimes
|
||||
dnl wasmtime starts the proces with "/" as CWD. For OOT builds add the
|
||||
dnl wasmtime starts the process with "/" as CWD. For OOT builds add the
|
||||
dnl directory containing _sysconfigdata to PYTHONPATH.
|
||||
[WASI/*], [HOSTRUNNER='wasmtime run --wasm max-wasm-stack=8388608 --wasi preview2 --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/'],
|
||||
[HOSTRUNNER='']
|
||||
|
@ -3513,7 +3513,7 @@ then
|
|||
LDCXXSHARED='$(CXX) -Wl,-G,-Bexport';;
|
||||
WASI*)
|
||||
AS_VAR_IF([enable_wasm_dynamic_linking], [yes], [
|
||||
dnl not iplemented yet
|
||||
dnl not implemented yet
|
||||
]);;
|
||||
CYGWIN*)
|
||||
LDSHARED="gcc -shared -Wl,--enable-auto-image-base"
|
||||
|
@ -3686,7 +3686,7 @@ esac
|
|||
AC_MSG_RESULT([$SHLIBS])
|
||||
|
||||
dnl perf trampoline is Linux specific and requires an arch-specific
|
||||
dnl trampoline in asssembly.
|
||||
dnl trampoline in assembly.
|
||||
AC_MSG_CHECKING([perf trampoline])
|
||||
AS_CASE([$PLATFORM_TRIPLET],
|
||||
[x86_64-linux-gnu], [perf_trampoline=yes],
|
||||
|
@ -5869,7 +5869,7 @@ else
|
|||
# While Python doesn't currently have full support for these platforms
|
||||
# (see e.g., issue 1762561), we can at least make sure that float <-> string
|
||||
# conversions work.
|
||||
# FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big
|
||||
# FLOAT_WORDS_BIGENDIAN doesn't actually detect this case, but if it's not big
|
||||
# or little, then it must be this?
|
||||
AC_DEFINE([DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754], [1],
|
||||
[Define if C doubles are 64-bit IEEE 754 binary format, stored
|
||||
|
|
Loading…
Reference in New Issue