summaryrefslogtreecommitdiffstats
path: root/Modules/posixmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-38822: Check specifically for a drive, not just a colon (GH-25540)Miss Islington (bot)2021-04-221-2/+2
| | | | | (cherry picked from commit e07d8098892e85ecc56969d2c9a5afb3ea33ce8f) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-38822: Fixed os.stat failing on inaccessible directories. (GH-25527)Miss Islington (bot)2021-04-221-2/+21
| | | | | | It would just fail if the path was inaccessible and had a trailing slash. It should fall back to the parent directory's metadata. (cherry picked from commit fe63a401a9b3ca1751b81b5d6ddb2beb7f3675c1) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-43105: Importlib now resolves relative paths when creating module spec ↵Steve Dower2021-04-091-0/+56
| | | | objects from file locations (GH-25121)
* [3.8] bpo-42237: Fix os.sendfile() on illumos (GH-23154). (GH-23246)Jakub Stasiak2020-11-121-0/+18
| | | | | (cherry picked from commit fd4ed57674c675e05bd5d577dd5047a333c76c78) Co-authored-by: Jakub Stasiak <jakub@stasiak.at>
* bpo-40653: Move _dirnameW out of GH-ifdef HAVE_SYMLINK/GH-endif (GH-20144)Miss Islington (bot)2020-05-181-2/+6
| | | | | (cherry picked from commit 7f21c9ac872acc2114aee3313d132b016550ff42) Co-authored-by: Minmin Gong <gongminmin@msn.com>
* bpo-40138: Fix Windows os.waitpid() for large exit code (GH-19654)Victor Stinner2020-04-221-1/+3
| | | | | Fix the Windows implementation of os.waitpid() for exit code larger than "INT_MAX >> 8". The exit status is now interpreted as an unsigned number.
* bpo-40014: Fix os.getgrouplist() (GH-19126)Miss Islington (bot)2020-03-241-22/+25
| | | | | | | | | | | Fix os.getgrouplist(): if getgrouplist() function fails because the group list is too small, retry with a larger group list. On failure, the glibc implementation of getgrouplist() sets ngroups to the total number of groups. For other implementations, double the group list size. (cherry picked from commit f5c7cabb2be4e42a5975ba8aac8bb458c8d9d6d7) Co-authored-by: Victor Stinner <vstinner@python.org>
* bpo-40014: Fix os.getgrouplist() on macOS (GH-19118)Miss Islington (bot)2020-03-231-0/+19
| | | | | | | | On macOS, getgrouplist() returns a non-zero value without setting errno if the group list is too small. Double the list size and call it again in this case. (cherry picked from commit 8ec7370c89aa522602eb9604086ce9f09770953d) Co-authored-by: Victor Stinner <vstinner@python.org>
* bpo-39184: Add audit events to functions in `fcntl`, `msvcrt`, `os`, ↵Steve Dower2020-02-131-17/+128
| | | | | | `resource`, `shutil`, `signal`, `syslog` (GH-18407) Co-authored-by: Saiyang Gou <gousaiyang@163.com>
* bpo-39184: Add audit events to command execution functions in os and pty ↵Miss Islington (bot)2020-02-051-7/+42
| | | | | | | modules (GH-17824) (cherry picked from commit 95f60010219e142a436fae18e1695cbc45407afe) Co-authored-by: Saiyang Gou <gousaiyang@163.com>
* bpo-37931: Fix crash on OSX re-initializing os.environ (GH-15428)Miss Islington (bot)2019-12-061-5/+5
| | | | | | | | | | | | | On most platforms, the `environ` symbol is accessible everywhere. In a dylib on OSX, it's not easily accessible, you need to find it with _NSGetEnviron. The code was caching the *value* of environ. But a setenv() can change the value, leaving garbage at the old value. Fix: don't cache the value of environ, just read it every time. (cherry picked from commit 723f71abf7ab0a7be394f9f7b2daa9ecdf6fb1eb) Co-authored-by: Benoit Hudson <benoit@imgspc.com>
* bpo-38418: Fixes audit event for os.system to be named 'os.system' (GH-16670)Miss Islington (bot)2019-10-181-2/+2
| | | | | | | | https://bugs.python.org/issue38418 Automerge-Triggered-By: @zooba (cherry picked from commit fbe3c76c7ce1eec887d332d801d3784212cc0f73) Co-authored-by: Steve Dower <steve.dower@python.org>
* [3.8] bpo-37206: Unrepresentable default values no longer represented as ↵Serhiy Storchaka2019-09-141-7/+5
| | | | | | | | | | None. (GH-13933) (GH-16141) In ArgumentClinic, value "NULL" should now be used only for unrepresentable default values (like in the optional third parameter of getattr). "None" should be used if None is accepted as argument and passing None has the same effect as not passing the argument at all. (cherry picked from commit 279f44678c8b84a183f9eeb85e0b086228154497) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-38110: Use fdwalk for os.closerange() when available. (GH-15224)Miss Islington (bot)2019-09-121-0/+25
| | | | | | Use fdwalk() on platforms that support it to implement os.closerange(). (cherry picked from commit e20134f889a0cfcc37a46979f31a1c98b800de07) Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
* bpo-33166: Change os.cpu_count to return active (real) processors (GH-15949)Miss Islington (bot)2019-09-111-17/+3
| | | | | (cherry picked from commit aa929273caca2f4e24e3aa9e790272fd4458ad35) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-38030: Fix os.stat failures on block devices on Windows (GH-15681)Miss Islington (bot)2019-09-041-6/+13
| | | | | (cherry picked from commit 772ec0fad57412daa53d16d7019b6b2fe6e94942) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-38020: Fixes crash in os.readlink() on Windows (GH-15663)Miss Islington (bot)2019-09-031-2/+2
| | | | | (cherry picked from commit 993ac92418839427d4068d6ae8e618b06b5d9294) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-37834: Normalise handling of reparse points on Windows (GH-15370)Steve Dower2019-08-211-181/+206
| | | | | | | | | | bpo-37834: Normalise handling of reparse points on Windows * ntpath.realpath() and nt.stat() will traverse all supported reparse points (previously was mixed) * nt.lstat() will let the OS traverse reparse points that are not name surrogates (previously would not traverse any reparse point) * nt.[l]stat() will only set S_IFLNK for symlinks (previous behaviour) * nt.readlink() will read destinations for symlinks and junction points only bpo-1311: os.path.exists('nul') now returns True on Windows * nt.stat('nul').st_mode is now S_IFCHR (previously was an error)
* bpo-37412: Fix os.getcwd() for long path on Windows (GH-14424) (GH-14451)Miss Islington (bot)2019-06-281-1/+1
| | | | | | | * Fix test for integer overflow. * Add an unit test. (cherry picked from commit ec3e20a2d1edddb0558f9d32e2b367904ccdde88) Co-authored-by: Victor Stinner <vstinner@redhat.com>
* closes bpo-37420: Handle errors during iteration in os.sched_setaffinity. ↵Miss Islington (bot)2019-06-271-0/+3
| | | | | | | (GH-14414) (cherry picked from commit 45a30af109f69a81576b87ea775863ba12d55316) Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
* bpo-37419: Fix possible segfaults when passing large sequences to ↵Miss Islington (bot)2019-06-261-1/+1
| | | | | | | | os.posix_spawn() (GH-14409) Use Py_ssize_t instead of int for i. (cherry picked from commit d52a83a3d471ff3c7e9ebfa1731765e5334f7c24) Co-authored-by: Zackery Spytz <zspytz@gmail.com>
* bpo-37412: os.getcwdb() now uses UTF-8 on Windows (GH-14396)Miss Islington (bot)2019-06-261-59/+64
| | | | | | | | | | | | The os.getcwdb() function now uses the UTF-8 encoding on Windows, rather than the ANSI code page: see PEP 529 for the rationale. The function is no longer deprecated on Windows. os.getcwd() and os.getcwdb() now detect integer overflow on memory allocations. On Unix, these functions properly report MemoryError on memory allocation failure. (cherry picked from commit 689830ee6243126798a6c519c05aa11ba73db7cd) Co-authored-by: Victor Stinner <vstinner@redhat.com>
* bpo-37363: Add audit events for a range of modules (GH-14301)Miss Islington (bot)2019-06-241-0/+9
| | | | | (cherry picked from commit 60419a7e96577cf783b3b45bf3984f9fb0d7ddff) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-35070: test_getgrouplist may fail on macOS if too many groups (GH-13071)Miss Islington (bot)2019-06-131-15/+17
| | | | | (cherry picked from commit 8725c83ed5ca8959195ad8326db99d564a921749) Co-authored-by: Jeffrey Kintscher <49998481+websurfer5@users.noreply.github.com>
* bpo-26826: Expose copy_file_range in the os module (GH-7255)Pablo Galindo2019-05-311-0/+71
|
* bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async ↵Jeroen Demeyer2019-05-311-4/+4
| | | | | | | | | (GH-13464) Automatically replace tp_print -> tp_vectorcall_offset tp_compare -> tp_as_async tp_reserved -> tp_as_async
* bpo-26836: Add ifdefs for all MFD_HUGE* constants (GH-13666)Zackery Spytz2019-05-291-0/+28
| | | https://bugs.python.org/issue26836
* bpo-32388: Remove cross-version binary compatibility requirement in tp_flags ↵Antoine Pitrou2019-05-291-2/+1
| | | | | | | | (GH-4944) It is now allowed to add new fields at the end of the PyTypeObject struct without having to allocate a dedicated compatibility flag in tp_flags. This will reduce the risk of running out of bits in the 32-bit tp_flags value.
* bpo-26836: Add os.memfd_create() (#13567)Zackery Spytz2019-05-291-0/+64
| | | | | | | | | | | | | | | | | | | | * bpo-26836: Add os.memfd_create() * Use the glibc wrapper for memfd_create() Co-Authored-By: Christian Heimes <christian@python.org> * Fix deletions caused by autoreconf. * Use MFD_CLOEXEC as the default value for *flags*. * Add memset_s to configure.ac. * Revert memset_s changes. * Apply the requested changes. * Tweak the docs.
* bpo-37031: Fix PyOS_AfterFork_Child() (GH-13537)Victor Stinner2019-05-241-1/+1
| | | | | | | PyOS_AfterFork_Child(): _PyInterpreterState_DeleteExceptMain() must be called after _PyRuntimeState_ReInitThreads(). _PyRuntimeState_ReInitThreads() resets interpreters mutex after fork, mutex used by _PyInterpreterState_DeleteExceptMain().
* bpo-36842: Implement PEP 578 (GH-12613)Steve Dower2019-05-231-0/+22
| | | Adds sys.audit, sys.addaudithook, io.open_code, and associated C APIs.
* bpo-31904: Add posix module support for VxWorks (GH-12118)pxinwr2019-05-211-7/+65
|
* bpo-36728: Remove PyEval_ReInitThreads() from C API (GH-13241)Victor Stinner2019-05-131-4/+15
| | | | | | | | Remove the PyEval_ReInitThreads() function from the Python C API. It should not be called explicitly: use PyOS_AfterFork_Child() instead. Rename PyEval_ReInitThreads() to _PyEval_ReInitThreads() and add a 'runtime' parameter.
* bpo-36814: ensure os.posix_spawn() handles None (GH-13144)Anthony Shaw2019-05-101-1/+1
| | | | Fix an issue where os.posix_spawn() would incorrectly raise a TypeError when file_actions is None.
* Suppress clang warning (GH-12384)Rémi Lapeyre2019-05-031-1/+2
|
* bpo-36710: PyOS_AfterFork_Child() pass runtime parameter (GH-12936)Victor Stinner2019-04-241-3/+4
| | | | | | | | | The PyOS_AfterFork_Child() function now pass a 'runtime' parameter to subfunctions. * Fix _PyRuntimeState_ReInitThreads(): use the correct memory allocator * Add runtime parameter to _PyRuntimeState_ReInitThreads(), _PyGILState_Reinit() and _PyInterpreterState_DeleteExceptMain() * Move _PyGILState_Reinit() to the internal C API.
* bpo-31512: Add non-elevated symlink support for Windows (GH-3652)Vidar Tonaas Fauske2019-04-091-71/+39
|
* bpo-36085: Enable better DLL resolution on Windows (GH-12302)Steve Dower2019-03-291-4/+129
|
* bpo-33608: Make sure locks in the runtime are properly re-created. (gh-12245)Eric Snow2019-03-091-0/+1
|
* bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112)Serhiy Storchaka2019-02-251-0/+3
|
* bpo-35942: Improve the error message if __fspath__ returns invalid types in ↵Pablo Galindo2019-02-181-8/+15
| | | | | path_converter (GH-11831) The error message emitted when returning invalid types from __fspath__ in interfaces that allow passing PathLike objects has been improved and now it does explain the origin of the error.
* Remove stray quote in os.replace docstring. (GH-11556)Anthony Sottile2019-02-131-2/+2
|
* bpo-29734: nt._getfinalpathname handle leak (GH-740)Mark Becwar2019-02-021-8/+10
| | | Make sure that failure paths call CloseHandle outside of the function that failed
* bpo-33895: Relase GIL while calling functions that acquire Windows loader ↵Tony Roberts2019-02-021-3/+8
| | | | | lock (GH-7789) LoadLibrary, GetProcAddress, FreeLibrary and GetModuleHandle acquire the system loader lock. Calling these while holding the GIL will cause a deadlock on the rare occasion that another thread is detaching and needs to destroy its thread state at the same time.
* bpo-35537: Fix function name in os.posix_spawnp() errors (GH-11719)Victor Stinner2019-02-011-11/+13
|
* bpo-35537: Add setsid parameter to os.posix_spawn() and os.posix_spawnp() ↵Joannah Nanjekye2019-02-011-13/+31
| | | | (GH-11608)
* bpo-35674: Add os.posix_spawnp() (GH-11554)Joannah Nanjekye2019-01-161-34/+101
| | | Add a new os.posix_spawnp() function.
* bpo-35214: Annotate posix calls for clang MSan. (#11389)Gregory P. Smith2018-12-311-0/+16
| | | It doesn't know the details of a few less common libc functions.
* bpo-35550: Fix incorrect Solaris define guards (GH-11275)Jakub Kulík2018-12-311-1/+1
| | | | | | | Python source code uses on several places ifdef sun or defined(sun) without the underscores, which is not standard compliant and shouldn't be used. Defines should check for __sun instead. Reference: http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#Solaris https://bugs.python.org/issue35550
* bpo-35490: Remove the DecodeFSDefault return converter in AC. (#11152)Serhiy Storchaka2018-12-171-6/+7
|