- 22 Dec, 2017 1 commit
-
-
Benjamin Peterson authored
-
- 21 Dec, 2017 10 commits
-
-
Victor Stinner authored
Skip the test which fails on FreeBSD with POSIX locale. Skip the test to fix FreeBSD buildbots, until a fix can be found, so the buildbots can catch other regressions.
-
Victor Stinner authored
Skip the test failing randomly because of known race condition. Skip the test to fix macOS buildbots until a decision is made on the proper fix for the race condition.
-
Victor Stinner authored
Add a new _Py_FindEnvConfigValue() function: code shared between Windows and Unix implementations of _PyPathConfig_Calculate() to read the pyenv.cfg file. _Py_FindEnvConfigValue() now uses _Py_DecodeUTF8_surrogateescape() instead of using a Python Unicode string, the Python API must not be used early during Python initialization. Same change in Unix search_for_exec_prefix(): use _Py_DecodeUTF8_surrogateescape(). Cleanup also encode_current_locale(): PyMem_RawFree/PyMem_Free can be called with NULL. Fix also "NUL byte" => "NULL byte" typo.
-
Victor Stinner authored
Replace Py_EncodeLocale() with _Py_EncodeLocaleRaw() in: * _Py_wfopen() * _Py_wreadlink() * _Py_wrealpath() * _Py_wstat() * pymain_open_filename() These functions are called early during Python intialization, only the RAW memory allocator must be used.
-
Andrew Svetlov authored
-
Victor Stinner authored
Py_EncodeLocale() now uses _Py_EncodeUTF8_surrogateescape(), instead of using temporary unicode and bytes objects. So Py_EncodeLocale() doesn't use the Python C API anymore.
-
Коренберг Марк authored
-
Sebastian Pucilowski authored
-
Paul Ganssle authored
Closes bpo-15873.
-
INADA Naoki authored
-
- 20 Dec, 2017 10 commits
-
-
Victor Stinner authored
* _Py_InitializeCore() doesn't call _PyMem_SetupAllocators() anymore if the PYTHONMALLOC environment variable is not set. * pymain_cmdline() now sets the allocator to the default, instead of setting the allocator in subfunctions. * Py_SetStandardStreamEncoding() now calls _PyMem_SetDefaultAllocator() to get a known allocator, to be able to release the memory with the same allocator.
-
-
Victor Stinner authored
* Add _PyCoreConfig.install_signal_handlers * Remove _PyMain.config: _PyMainInterpreterConfig usage is now restricted to pymain_init_python_main(). * Rename _PyMain.core_config to _PyMain.config * _PyMainInterpreterConfig_Read() now creates the xoptions dictionary from the core config * Fix _PyMainInterpreterConfig_Read(): don't replace xoptions and argv if they are already set.
-
Andrew Svetlov authored
* Make ssh_handshake_timeout None by default. * Raise ValueError if ssl_handshake_timeout is used without ssl. * Raise ValueError if ssl_handshake_timeout is not positive.
-
Antoine Pitrou authored
The built-in map() function collects function arguments lazily, but concurrent.futures.Executor.map() does so eagerly.
-
Serhiy Storchaka authored
Use tuples and raw arrays instead of lists.
-
Victor Stinner authored
Merge _PyCoreConfig_ReadEnv() into _PyCoreConfig_Read(), and _Py_CommandLineDetails usage is now restricted to pymain_cmdline(). Changes: * _PyCoreConfig: Add nxoption, xoptions, nwarnoption and warnoptions * Add _PyCoreConfig.program: argv[0] or "" * Move filename, command, module and xoptions from _Py_CommandLineDetails to _PyMain. xoptions _Py_OptList becomes (int, wchar_t**) list. * Add pymain_cmdline() function * Rename copy_argv() to copy_wstrlist(). Rename clear_argv() to clear_wstrlist(). Remove _Py_OptList structure: use (int, wchar_t**) list instead. * Rename pymain_set_flag_from_env() to pymain_get_env_flag() * Rename pymain_set_flags_from_env() to pymain_get_env_flags() * _PyMainInterpreterConfig_Read() now creates the warnoptions from _PyCoreConfig.warnoptions * Inline pymain_add_warning_dev_mode() and pymain_add_warning_bytes_flag() into config_init_warnoptions() * Inline pymain_get_program_name() into _PyCoreConfig_Read() * _Py_CommandLineDetails: Replace warning_options with nwarnoption and warnoptions. Replace env_warning_options with nenv_warnoption and env_warnoptions. * pymain_warnings_envvar() now has a single implementation for Windows and Unix: use config_get_env_var_dup() to also get the variable as wchar_t* on Unix.
-
Antoine Pitrou authored
* bpo-32379: Faster MRO computation for single inheritance
-
Marcel Plch authored
Change atexit behavior and PEP-489 multiphase init support.
-
Victor Stinner authored
* Reorganize pymain_main() to make the code more flat * Clear configurations before pymain_update_sys_path() * Mark Py_FatalError() and _Py_FatalInitError() with _Py_NO_RETURN * Replace _PyMain.run_code variable with a new RUN_CODE() macro * Move _PyMain.cf into a local variable in pymain_run_python()
-
- 19 Dec, 2017 13 commits
-
-
Victor Stinner authored
* Add argc and argv to _PyCoreConfig * _PyMainInterpreterConfig_Read() now builds its argv from _PyCoreConfig.arg * Move _PyMain.env_warning_options into _Py_CommandLineDetails * Reorder pymain_free()
-
KatherineMichel authored
Mention that the format-specifier mini language in f-strings is the same one used by str.format.
-
Neil Aspinall authored
10 seconds by default.
-
Antoine Pitrou authored
* Fix #32377: improve __del__ docs and fix mention about resurrection * Mention that CPython only calls __del__ once.
-
Zackery Spytz authored
-
Michael Felt authored
Implement find_library() support in ctypes/util for AIX. Add some AIX specific tests.
-
Julien Duponchelle authored
-
Yury Selivanov authored
-
Yury Selivanov authored
-
Yury Selivanov authored
Recent sock.type fix (see bug 32331) makes sock.type checks simpler in asyncio.
-
Victor Stinner authored
Fix compiler warnings in Py_FinalizeEx(): only define variables if they are needed, add #ifdef. Other cleanup changes: * _PyWarnings_InitWithConfig() is no more needed: call _PyWarnings_Init() instead. * Inline pymain_init_main_interpreter() in its caller. This subfunction is no more justifed.
-
Andrew Svetlov authored
-
Yury Selivanov authored
-
- 18 Dec, 2017 6 commits
-
-
Victor Stinner authored
* main.c: add missing #include <fenv.h> on FreeBSD * indent also other #ifdef in main.c * cleanup Programs/python.c
-
Yury Selivanov authored
-
izbyshev authored
The last part of test_close_fds() doesn't match its own comment. The following assertion always holds because fds_to_keep and open_fds are disjoint by construction. self.assertFalse(remaining_fds & fds_to_keep & open_fds, "Some fds not in pass_fds were left open") Fix the code to match the message in the assertion.
-
Andrew Svetlov authored
-
Serhiy Storchaka authored
It was introduced in bpo-27169.
-
Segev Finer authored
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.
-