mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-02 19:39:49 +09:00
* Implement Windows SemLock in _multiprocessing module Add SemLock class using Windows semaphore APIs (CreateSemaphoreW, WaitForSingleObjectEx, ReleaseSemaphore) so test_multiprocessing suites are no longer skipped with "lacks a functioning sem_open". Also add sem_unlink as no-op and flags dict for Windows. * Fix _multiprocessing recv to return bytes and improve SemLock reliability - recv() now returns bytes instead of int (matching CPython) - Remove spurious GetLastError() check after CreateSemaphoreW - Add signal checking during blocking SemLock acquire * Include winerror in OSError.__reduce__ on Windows * Remove expectedFailure for tests now passing with Windows SemLock * Fix OSError.__reduce__ to preserve winerror when filename is None When filename is None, __reduce__ was reconstructing a 2-element (errno, msg) tuple, dropping the winerror at position 3 in the original args. Use the original args tuple instead, matching CPython. * Validate maxvalue > 0 in SemLock and document winerror __reduce__ divergence * Reject embedded null characters in mmap tagname and _winapi file mapping names
259 KiB
Vendored
259 KiB
Vendored