<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Modules/_winapi.c, branch fix-misc-acks</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/'/>
<entry>
<title>[3.7] bpo-35489: Use "const Py_UNICODE *" for the Py_UNICODE converter in AC. (GH-11150). (GH-11151)</title>
<updated>2018-12-14T09:56:48+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2018-12-14T09:56:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=45a7b7617e67bd1a8491f5e10ea9d24fe418b52d'/>
<id>45a7b7617e67bd1a8491f5e10ea9d24fe418b52d</id>
<content type='text'>
(cherry picked from commit afb3e71a1710c444fbe789b51df43ee16ee9ede7)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit afb3e71a1710c444fbe789b51df43ee16ee9ede7)
</pre>
</div>
</content>
</entry>
<entry>
<title>[3.7] bpo-31446: Copy command line that should be passed to CreateProcessW(). (GH-11141). (GH-11149)</title>
<updated>2018-12-14T09:18:13+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2018-12-14T09:18:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=922b2a0d0d9928af420ea4d5c104f8be72517aa2'/>
<id>922b2a0d0d9928af420ea4d5c104f8be72517aa2</id>
<content type='text'>
(cherry picked from commit 7b36016a15aeed0d76a4c05a66203e6d7723aace)

Co-authored-by: Vladimir Matveev &lt;v2matveev@outlook.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 7b36016a15aeed0d76a4c05a66203e6d7723aace)

Co-authored-by: Vladimir Matveev &lt;v2matveev@outlook.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-34563: Fix for invalid assert on big output of multiprocessing.Process (GH-9027) (GH-9064)</title>
<updated>2018-09-04T19:39:54+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2018-09-04T19:39:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=e8ca8806a9f47b3bac4ae1c6b8a54c47d1aad8f3'/>
<id>e8ca8806a9f47b3bac4ae1c6b8a54c47d1aad8f3</id>
<content type='text'>
Fix for invalid assert on big output of multiprocessing.Process.
(cherry picked from commit 266f4904a222a784080e29aad0916849e507515d)

Co-authored-by: Alexander Buchkovsky &lt;olex.buchkovsky@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix for invalid assert on big output of multiprocessing.Process.
(cherry picked from commit 266f4904a222a784080e29aad0916849e507515d)

Co-authored-by: Alexander Buchkovsky &lt;olex.buchkovsky@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-19764: Implemented support for subprocess.Popen(close_fds=True) on Windows (#1218)</title>
<updated>2017-12-18T09:28:19+00:00</updated>
<author>
<name>Segev Finer</name>
<email>segev208@gmail.com</email>
</author>
<published>2017-12-18T09:28:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=b2a6083eb0384f38839d3f1ed32262a3852026fa'/>
<id>b2a6083eb0384f38839d3f1ed32262a3852026fa</id>
<content type='text'>
Even though Python marks any handles it opens as non-inheritable there
is still a race when using `subprocess.Popen` since creating a process
with redirected stdio requires temporarily creating inheritable handles.
By implementing support for `subprocess.Popen(close_fds=True)` we fix
this race.

In order to implement this we use PROC_THREAD_ATTRIBUTE_HANDLE_LIST
which is available since Windows Vista. Which allows to pass an explicit
list of handles to inherit when creating a process.

This commit also adds `STARTUPINFO.lpAttributeList["handle_list"]`
which can be used to control PROC_THREAD_ATTRIBUTE_HANDLE_LIST
directly.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Even though Python marks any handles it opens as non-inheritable there
is still a race when using `subprocess.Popen` since creating a process
with redirected stdio requires temporarily creating inheritable handles.
By implementing support for `subprocess.Popen(close_fds=True)` we fix
this race.

In order to implement this we use PROC_THREAD_ATTRIBUTE_HANDLE_LIST
which is available since Windows Vista. Which allows to pass an explicit
list of handles to inherit when creating a process.

This commit also adds `STARTUPINFO.lpAttributeList["handle_list"]`
which can be used to control PROC_THREAD_ATTRIBUTE_HANDLE_LIST
directly.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-29240: PEP 540: Add a new UTF-8 Mode (#855)</title>
<updated>2017-12-13T11:29:09+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2017-12-13T11:29:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=91106cd9ff2f321c0f60fbaa09fd46c80aa5c266'/>
<id>91106cd9ff2f321c0f60fbaa09fd46c80aa5c266</id>
<content type='text'>
* Add -X utf8 command line option, PYTHONUTF8 environment variable
  and a new sys.flags.utf8_mode flag.
* If the LC_CTYPE locale is "C" at startup: enable automatically the
  UTF-8 mode.
* Add _winapi.GetACP(). encodings._alias_mbcs() now calls
  _winapi.GetACP() to get the ANSI code page
* locale.getpreferredencoding() now returns 'UTF-8' in the UTF-8
  mode. As a side effect, open() now uses the UTF-8 encoding by
  default in this mode.
* Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding
  in the UTF-8 Mode.
* Update subprocess._args_from_interpreter_flags() to handle -X utf8
* Skip some tests relying on the current locale if the UTF-8 mode is
  enabled.
* Add test_utf8mode.py.
* _Py_DecodeUTF8_surrogateescape() gets a new optional parameter to
  return also the length (number of wide characters).
* pymain_get_global_config() and pymain_set_global_config() now
  always copy flag values, rather than only copying if the new value
  is greater than the old value.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add -X utf8 command line option, PYTHONUTF8 environment variable
  and a new sys.flags.utf8_mode flag.
* If the LC_CTYPE locale is "C" at startup: enable automatically the
  UTF-8 mode.
* Add _winapi.GetACP(). encodings._alias_mbcs() now calls
  _winapi.GetACP() to get the ANSI code page
* locale.getpreferredencoding() now returns 'UTF-8' in the UTF-8
  mode. As a side effect, open() now uses the UTF-8 encoding by
  default in this mode.
* Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding
  in the UTF-8 Mode.
* Update subprocess._args_from_interpreter_flags() to handle -X utf8
* Skip some tests relying on the current locale if the UTF-8 mode is
  enabled.
* Add test_utf8mode.py.
* _Py_DecodeUTF8_surrogateescape() gets a new optional parameter to
  return also the length (number of wide characters).
* pymain_get_global_config() and pymain_set_global_config() now
  always copy flag values, rather than only copying if the new value
  is greater than the old value.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-31884 subprocess: add Windows constants for process priority (#4150)</title>
<updated>2017-11-08T14:18:59+00:00</updated>
<author>
<name>James</name>
<email>james_g_k@hotmail.co.uk</email>
</author>
<published>2017-11-08T14:18:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=b5d9e0811463f3b28ba355a9e0bee7f1682854e3'/>
<id>b5d9e0811463f3b28ba355a9e0bee7f1682854e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30768: Recompute timeout on interrupted lock (GH-4103)</title>
<updated>2017-10-24T23:53:32+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2017-10-24T23:53:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=850a18e03e8f8309bc8c39adc6e7d51a4568cd9a'/>
<id>850a18e03e8f8309bc8c39adc6e7d51a4568cd9a</id>
<content type='text'>
Fix the pthread+semaphore implementation of
PyThread_acquire_lock_timed() when called with timeout &gt; 0 and
intr_flag=0: recompute the timeout if sem_timedwait() is interrupted
by a signal (EINTR).

See also the PEP 475.

The pthread implementation of PyThread_acquire_lock() now fails with
a fatal error if the timeout is larger than PY_TIMEOUT_MAX, as done
in the Windows implementation.

The check prevents any risk of overflow in PyThread_acquire_lock().

Add also PY_DWORD_MAX constant.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the pthread+semaphore implementation of
PyThread_acquire_lock_timed() when called with timeout &gt; 0 and
intr_flag=0: recompute the timeout if sem_timedwait() is interrupted
by a signal (EINTR).

See also the PEP 475.

The pthread implementation of PyThread_acquire_lock() now fails with
a fatal error if the timeout is larger than PY_TIMEOUT_MAX, as done
in the Windows implementation.

The check prevents any risk of overflow in PyThread_acquire_lock().

Add also PY_DWORD_MAX constant.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-31471: Fix assertion failure in subprocess.Popen() on Windows, in case env has a bad keys() method. (#3580)</title>
<updated>2017-09-14T19:30:27+00:00</updated>
<author>
<name>Oren Milman</name>
<email>orenmn@gmail.com</email>
</author>
<published>2017-09-14T19:30:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=0b3a87ef54a0112b74e8a1d8c6f87d10db4239ab'/>
<id>0b3a87ef54a0112b74e8a1d8c6f87d10db4239ab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30860: Consolidate stateful runtime globals. (#3397)</title>
<updated>2017-09-08T05:51:28+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2017-09-08T05:51:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=2ebc5ce42a8a9e047e790aefbf9a94811569b2b6'/>
<id>2ebc5ce42a8a9e047e790aefbf9a94811569b2b6</id>
<content type='text'>
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals

Other globals are excluded (see globals.txt and check-c-globals.py).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals

Other globals are excluded (see globals.txt and check-c-globals.py).</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "bpo-30860: Consolidate stateful runtime globals." (#3379)</title>
<updated>2017-09-06T04:43:08+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2017-09-06T04:43:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=05351c1bd8b70d1878527762174cdaaba3572395'/>
<id>05351c1bd8b70d1878527762174cdaaba3572395</id>
<content type='text'>
Windows buildbots started failing due to include-related errors.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows buildbots started failing due to include-related errors.</pre>
</div>
</content>
</entry>
</feed>
