Skip to content

Commit

Permalink
Update 3 packages
Browse files Browse the repository at this point in the history
msys2-w32api-headers (11.0.1.r0.gc3e587c06-1 -> 11.0.1.r0.gc3e587c06-2)
msys2-w32api-runtime (11.0.1.r0.gc3e587c06-1 -> 11.0.1.r0.gc3e587c06-2)
python (3.11.5-1 -> 3.11.6-1)

Signed-off-by: Git for Windows Build Agent <ci@git-for-windows.build>
  • Loading branch information
Git for Windows Build Agent committed Nov 16, 2023
1 parent 37f0cab commit 57a3099
Show file tree
Hide file tree
Showing 1,167 changed files with 3,683 additions and 4,091 deletions.
Binary file modified usr/bin/msys-python3.11.dll
Binary file not shown.
Binary file modified usr/bin/python.exe
Binary file not shown.
Binary file modified usr/bin/python3.11.exe
Binary file not shown.
Binary file modified usr/bin/python3.exe
Binary file not shown.
6 changes: 6 additions & 0 deletions usr/include/python3.11/internal/pycore_pystate.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ _Py_ThreadCanHandlePendingCalls(void)
}


#ifndef NDEBUG
extern int _PyThreadState_CheckConsistency(PyThreadState *tstate);
#endif

int _PyThreadState_MustExit(PyThreadState *tstate);

/* Variable and macro for in-line access to current thread
and interpreter state */

Expand Down
4 changes: 2 additions & 2 deletions usr/include/python3.11/patchlevel.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
/*--start constants--*/
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 11
#define PY_MICRO_VERSION 5
#define PY_MICRO_VERSION 6
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
#define PY_RELEASE_SERIAL 0

/* Version as a string */
#define PY_VERSION "3.11.5"
#define PY_VERSION "3.11.6"
/*--end constants--*/

/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
Expand Down
5 changes: 0 additions & 5 deletions usr/include/python3.11/pyport.h
Original file line number Diff line number Diff line change
Expand Up @@ -439,11 +439,6 @@ Please be conservative with adding new ones, document them and enclose them
in platform-specific #ifdefs.
**************************************************************************/

#ifdef SOLARIS
/* Unchecked */
extern int gethostname(char *, int);
#endif

#ifdef HAVE__GETPTY
#include <sys/types.h> /* we need to import mode_t */
extern char * _getpty(int *, int, mode_t, int);
Expand Down
Binary file modified usr/lib/libpython3.11.dll.a
Binary file not shown.
9 changes: 5 additions & 4 deletions usr/lib/python3.11/_sysconfigdata__cygwin_x86_64-msys.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,17 @@
'CONFINCLUDEDIR': '/usr/include',
'CONFINCLUDEPY': '/usr/include/python3.11',
'COREPYTHONPATH': '',
'COVERAGE_INFO': '/c/S/B/src/Python-3.11.5/coverage.info',
'COVERAGE_INFO': '/c/S/B/src/Python-3.11.6/coverage.info',
'COVERAGE_LCOV_OPTIONS': '--rc lcov_branch_coverage=1',
'COVERAGE_REPORT': '/c/S/B/src/Python-3.11.5/lcov-report',
'COVERAGE_REPORT': '/c/S/B/src/Python-3.11.6/lcov-report',
'COVERAGE_REPORT_OPTIONS': '--rc lcov_branch_coverage=1 --branch-coverage '
'--title "CPython 3.11 LCOV report [commit $(shell '
')]"',
'CPPFLAGS': '-I. -I./Include',
'CXX': 'g++',
'DECIMAL_CFLAGS': '-DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1',
'DECIMAL_LDFLAGS': '-lmpdec',
'DEEPFREEZE_C': 'Python/deepfreeze/deepfreeze.c',
'DEEPFREEZE_DEPS': './Tools/scripts/deepfreeze.py _bootstrap_python '
'./Programs/_freeze_module.py \\',
'DEEPFREEZE_OBJS': 'Python/deepfreeze/deepfreeze.o',
Expand Down Expand Up @@ -1026,8 +1027,8 @@
'WITH_VALGRIND': 0,
'X87_DOUBLE_ROUNDING': 0,
'XMLLIBSUBDIRS': 'xml xml/dom xml/etree xml/parsers xml/sax',
'abs_builddir': '/c/S/B/src/Python-3.11.5',
'abs_srcdir': '/c/S/B/src/Python-3.11.5',
'abs_builddir': '/c/S/B/src/Python-3.11.6',
'abs_srcdir': '/c/S/B/src/Python-3.11.6',
'datarootdir': '/usr/share',
'exec_prefix': '/usr',
'prefix': '/usr',
Expand Down
18 changes: 17 additions & 1 deletion usr/lib/python3.11/ast.py
Original file line number Diff line number Diff line change
Expand Up @@ -1175,13 +1175,29 @@ def visit_JoinedStr(self, node):

new_fstring_parts = []
quote_types = list(_ALL_QUOTES)
fallback_to_repr = False
for value, is_constant in fstring_parts:
value, quote_types = self._str_literal_helper(
value, new_quote_types = self._str_literal_helper(
value,
quote_types=quote_types,
escape_special_whitespace=is_constant,
)
new_fstring_parts.append(value)
if set(new_quote_types).isdisjoint(quote_types):
fallback_to_repr = True
break
quote_types = new_quote_types

if fallback_to_repr:
# If we weren't able to find a quote type that works for all parts
# of the JoinedStr, fallback to using repr and triple single quotes.
quote_types = ["'''"]
new_fstring_parts.clear()
for value, is_constant in fstring_parts:
value = repr('"' + value) # force repr to use single quotes
expected_prefix = "'\""
assert value.startswith(expected_prefix), repr(value)
new_fstring_parts.append(value[len(expected_prefix):-1])

value = "".join(new_fstring_parts)
quote_type = quote_types[0]
Expand Down
5 changes: 2 additions & 3 deletions usr/lib/python3.11/asyncio/streams.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,8 @@ async def start_server(client_connected_cb, host=None, port=None, *,
positional host and port, with various optional keyword arguments
following. The return value is the same as loop.create_server().
Additional optional keyword arguments are loop (to set the event loop
instance to use) and limit (to set the buffer limit passed to the
StreamReader).
Additional optional keyword argument is limit (to set the buffer
limit passed to the StreamReader).
The return value is the same as loop.create_server(), i.e. a
Server object which can be used to stop the service.
Expand Down
12 changes: 7 additions & 5 deletions usr/lib/python3.11/asyncio/subprocess.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,16 @@ def kill(self):

async def _feed_stdin(self, input):
debug = self._loop.get_debug()
self.stdin.write(input)
if debug:
logger.debug(
'%r communicate: feed stdin (%s bytes)', self, len(input))
try:
self.stdin.write(input)
if debug:
logger.debug(
'%r communicate: feed stdin (%s bytes)', self, len(input))

await self.stdin.drain()
except (BrokenPipeError, ConnectionResetError) as exc:
# communicate() ignores BrokenPipeError and ConnectionResetError
# communicate() ignores BrokenPipeError and ConnectionResetError.
# write() and drain() can raise these exceptions.
if debug:
logger.debug('%r communicate: stdin got %r', self, exc)

Expand Down
24 changes: 17 additions & 7 deletions usr/lib/python3.11/asyncio/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,25 @@ class Task(futures._PyFuture): # Inherit Python Task implementation
"""A coroutine wrapped in a Future."""

# An important invariant maintained while a Task not done:
# _fut_waiter is either None or a Future. The Future
# can be either done() or not done().
# The task can be in any of 3 states:
#
# - Either _fut_waiter is None, and _step() is scheduled;
# - or _fut_waiter is some Future, and _step() is *not* scheduled.
# - 1: _fut_waiter is not None and not _fut_waiter.done():
# __step() is *not* scheduled and the Task is waiting for _fut_waiter.
# - 2: (_fut_waiter is None or _fut_waiter.done()) and __step() is scheduled:
# the Task is waiting for __step() to be executed.
# - 3: _fut_waiter is None and __step() is *not* scheduled:
# the Task is currently executing (in __step()).
#
# The only transition from the latter to the former is through
# _wakeup(). When _fut_waiter is not None, one of its callbacks
# must be _wakeup().

# If False, don't log a message if the task is destroyed whereas its
# * In state 1, one of the callbacks of __fut_waiter must be __wakeup().
# * The transition from 1 to 2 happens when _fut_waiter becomes done(),
# as it schedules __wakeup() to be called (which calls __step() so
# we way that __step() is scheduled).
# * It transitions from 2 to 3 when __step() is executed, and it clears
# _fut_waiter to None.

# If False, don't log a message if the task is destroyed while its
# status is still pending
_log_destroy_pending = True

Expand Down
2 changes: 1 addition & 1 deletion usr/lib/python3.11/calendar.py
Original file line number Diff line number Diff line change
Expand Up @@ -693,7 +693,7 @@ def main(args):
parser.add_argument(
"-L", "--locale",
default=None,
help="locale to be used from month and weekday names"
help="locale to use for month and weekday names"
)
parser.add_argument(
"-e", "--encoding",
Expand Down
12 changes: 12 additions & 0 deletions usr/lib/python3.11/codecs.py
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,9 @@ def __enter__(self):
def __exit__(self, type, value, tb):
self.stream.close()

def __reduce_ex__(self, proto):
raise TypeError("can't serialize %s" % self.__class__.__name__)

###

class StreamReader(Codec):
Expand Down Expand Up @@ -663,6 +666,9 @@ def __enter__(self):
def __exit__(self, type, value, tb):
self.stream.close()

def __reduce_ex__(self, proto):
raise TypeError("can't serialize %s" % self.__class__.__name__)

###

class StreamReaderWriter:
Expand Down Expand Up @@ -750,6 +756,9 @@ def __enter__(self):
def __exit__(self, type, value, tb):
self.stream.close()

def __reduce_ex__(self, proto):
raise TypeError("can't serialize %s" % self.__class__.__name__)

###

class StreamRecoder:
Expand Down Expand Up @@ -866,6 +875,9 @@ def __enter__(self):
def __exit__(self, type, value, tb):
self.stream.close()

def __reduce_ex__(self, proto):
raise TypeError("can't serialize %s" % self.__class__.__name__)

### Shortcuts

def open(filename, mode='r', encoding=None, errors='strict', buffering=-1):
Expand Down
23 changes: 20 additions & 3 deletions usr/lib/python3.11/concurrent/futures/process.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,11 @@ def __init__(self):
self._reader, self._writer = mp.Pipe(duplex=False)

def close(self):
# Please note that we do not take the shutdown lock when
# calling clear() (to avoid deadlocking) so this method can
# only be called safely from the same thread as all calls to
# clear() even if you hold the shutdown lock. Otherwise we
# might try to read from the closed pipe.
if not self._closed:
self._closed = True
self._writer.close()
Expand Down Expand Up @@ -424,8 +429,12 @@ def wait_result_broken_or_wakeup(self):
elif wakeup_reader in ready:
is_broken = False

with self.shutdown_lock:
self.thread_wakeup.clear()
# No need to hold the _shutdown_lock here because:
# 1. we're the only thread to use the wakeup reader
# 2. we're also the only thread to call thread_wakeup.close()
# 3. we want to avoid a possible deadlock when both reader and writer
# would block (gh-105829)
self.thread_wakeup.clear()

return result_item, is_broken, cause

Expand Down Expand Up @@ -501,6 +510,11 @@ def terminate_broken(self, cause):
# /~https://github.com/python/cpython/issues/94777
self.call_queue._reader.close()

# gh-107219: Close the connection writer which can unblock
# Queue._feed() if it was stuck in send_bytes().
if sys.platform == 'win32':
self.call_queue._writer.close()

# clean up resources
self.join_executor_internals()

Expand Down Expand Up @@ -704,7 +718,10 @@ def __init__(self, max_workers=None, mp_context=None,
# as it could result in a deadlock if a worker process dies with the
# _result_queue write lock still acquired.
#
# _shutdown_lock must be locked to access _ThreadWakeup.
# _shutdown_lock must be locked to access _ThreadWakeup.close() and
# .wakeup(). Care must also be taken to not call clear or close from
# more than one thread since _ThreadWakeup.clear() is not protected by
# the _shutdown_lock
self._executor_manager_thread_wakeup = _ThreadWakeup()

# Create communication channels for the executor
Expand Down
26 changes: 16 additions & 10 deletions usr/lib/python3.11/config-3.11-x86_64-msys/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ MODLIBS= $(LOCALMODLIBS) $(BASEMODLIBS)
VERSION= 3.11
srcdir= .

abs_srcdir= /c/S/B/src/Python-3.11.5
abs_builddir= /c/S/B/src/Python-3.11.5
abs_srcdir= /c/S/B/src/Python-3.11.6
abs_builddir= /c/S/B/src/Python-3.11.6


CC= gcc
Expand Down Expand Up @@ -613,6 +613,7 @@ OBJECT_OBJS= \
Objects/unionobject.o \
Objects/weakrefobject.o

DEEPFREEZE_C = Python/deepfreeze/deepfreeze.c
DEEPFREEZE_OBJS = Python/deepfreeze/deepfreeze.o

##########################################################################
Expand Down Expand Up @@ -1283,12 +1284,12 @@ regen-frozen: Tools/scripts/freeze_modules.py $(FROZEN_FILES_IN)
# Deepfreeze targets

.PHONY: regen-deepfreeze
regen-deepfreeze: $(DEEPFREEZE_OBJS)
regen-deepfreeze: $(DEEPFREEZE_C)

DEEPFREEZE_DEPS=$(srcdir)/Tools/scripts/deepfreeze.py $(FREEZE_MODULE_DEPS) $(FROZEN_FILES_OUT)

# BEGIN: deepfreeze modules
Python/deepfreeze/deepfreeze.c: $(DEEPFREEZE_DEPS)
$(DEEPFREEZE_C): $(DEEPFREEZE_DEPS)
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py \
Python/frozen_modules/importlib._bootstrap.h:importlib._bootstrap \
Python/frozen_modules/importlib._bootstrap_external.h:importlib._bootstrap_external \
Expand All @@ -1315,8 +1316,6 @@ Python/deepfreeze/deepfreeze.c: $(DEEPFREEZE_DEPS)
Python/frozen_modules/frozen_only.h:frozen_only \
-o Python/deepfreeze/deepfreeze.c
# END: deepfreeze modules
@echo "Note: Deepfreeze may have added some global objects,"
@echo " so run 'make regen-global-objects' if necessary."

# We keep this renamed target around for folks with muscle memory.
.PHONY: regen-importlib
Expand All @@ -1325,11 +1324,12 @@ regen-importlib: regen-frozen
############################################################################
# Global objects

# Dependencies which can add and/or remove _Py_ID() identifiers:
# - deepfreeze.c
# - "make clinic"
.PHONY: regen-global-objects
regen-global-objects: $(srcdir)/Tools/scripts/generate_global_objects.py
regen-global-objects: $(srcdir)/Tools/scripts/generate_global_objects.py $(DEEPFREEZE_C) clinic
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py
@echo "Note: Global objects can be added or removed by other tools (e.g. deepfreeze), "
@echo " so be sure to re-run regen-global-objects after those tools."

############################################################################
# ABI
Expand All @@ -1348,8 +1348,10 @@ regen-limited-abi: all
############################################################################
# Regenerate all generated files

# "clinic" is regenerated implicitly via "regen-global-objects".
.PHONY: regen-all
regen-all: regen-opcode regen-opcode-targets regen-typeslots \
regen-token regen-ast regen-keyword regen-sre regen-frozen clinic \
regen-token regen-ast regen-keyword regen-sre regen-frozen \
regen-pegen-metaparser regen-pegen regen-test-frozenmain \
regen-global-objects
@echo
Expand Down Expand Up @@ -2092,8 +2094,10 @@ TESTSUBDIRS= ctypes/test \
test/test_asyncio \
test/test_capi \
test/test_cppext \
test/test_dataclasses \
test/test_email \
test/test_email/data \
test/test_future_stmt \
test/test_import \
test/test_import/data \
test/test_import/data/circular_imports \
Expand Down Expand Up @@ -2171,6 +2175,7 @@ TESTSUBDIRS= ctypes/test \
test/test_warnings/data \
test/test_zoneinfo \
test/test_zoneinfo/data \
test/tokenizedata \
test/tracedmodules \
test/typinganndata \
test/xmltestdata \
Expand Down Expand Up @@ -2521,6 +2526,7 @@ recheck:
autoconf:
(cd $(srcdir); autoreconf -ivf -Werror)

# See /~https://github.com/tiran/cpython_autoconf container
.PHONY: regen-configure
regen-configure:
@if command -v podman >/dev/null; then RUNTIME="podman"; else RUNTIME="docker"; fi; \
Expand Down
Binary file modified usr/lib/python3.11/config-3.11-x86_64-msys/libpython3.11.dll.a
Binary file not shown.
Binary file modified usr/lib/python3.11/config-3.11-x86_64-msys/python.o
Binary file not shown.
12 changes: 4 additions & 8 deletions usr/lib/python3.11/datetime.py
Original file line number Diff line number Diff line change
Expand Up @@ -1002,13 +1002,9 @@ def fromisocalendar(cls, year, week, day):
def __repr__(self):
"""Convert to formal string, for repr().
>>> dt = datetime(2010, 1, 1)
>>> repr(dt)
'datetime.datetime(2010, 1, 1, 0, 0)'
>>> dt = datetime(2010, 1, 1, tzinfo=timezone.utc)
>>> repr(dt)
'datetime.datetime(2010, 1, 1, 0, 0, tzinfo=datetime.timezone.utc)'
>>> d = date(2010, 1, 1)
>>> repr(d)
'datetime.date(2010, 1, 1)'
"""
return "%s.%s(%d, %d, %d)" % (self.__class__.__module__,
self.__class__.__qualname__,
Expand Down Expand Up @@ -1223,7 +1219,7 @@ def __reduce__(self):
class tzinfo:
"""Abstract base class for time zone info classes.
Subclasses must override the name(), utcoffset() and dst() methods.
Subclasses must override the tzname(), utcoffset() and dst() methods.
"""
__slots__ = ()

Expand Down
Loading

0 comments on commit 57a3099

Please sign in to comment.