mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-03 18:36:07 +01:00
[utils] locked_file
: Fix for PyPy on Windows
This commit is contained in:
parent
fccf90e7f3
commit
2cb1982043
9
.github/workflows/core.yml
vendored
9
.github/workflows/core.yml
vendored
@ -10,12 +10,15 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest]
|
os: [ubuntu-latest]
|
||||||
# CPython 3.9 is in quick-test
|
# CPython 3.9 is in quick-test
|
||||||
python-version: ['3.6', '3.7', '3.10', 3.11-dev, pypy-3.6, pypy-3.7, pypy-3.8, pypy-3.9]
|
python-version: ['3.6', '3.7', '3.10', 3.11-dev, pypy-3.6, pypy-3.7, pypy-3.8]
|
||||||
run-tests-ext: [sh]
|
run-tests-ext: [sh]
|
||||||
include:
|
include:
|
||||||
# atleast one of the tests must be in windows
|
# atleast one of each CPython/PyPy tests must be in windows
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
python-version: 3.8
|
python-version: '3.8'
|
||||||
|
run-tests-ext: bat
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.9
|
||||||
run-tests-ext: bat
|
run-tests-ext: bat
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
8
.github/workflows/download.yml
vendored
8
.github/workflows/download.yml
vendored
@ -9,11 +9,15 @@ jobs:
|
|||||||
fail-fast: true
|
fail-fast: true
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest]
|
os: [ubuntu-latest]
|
||||||
python-version: ['3.6', '3.7', '3.9', '3.10', 3.11-dev, pypy-3.6, pypy-3.7, pypy-3.8, pypy-3.9]
|
python-version: ['3.6', '3.7', '3.9', '3.10', 3.11-dev, pypy-3.6, pypy-3.7, pypy-3.8]
|
||||||
run-tests-ext: [sh]
|
run-tests-ext: [sh]
|
||||||
include:
|
include:
|
||||||
|
# atleast one of each CPython/PyPy tests must be in windows
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
python-version: 3.8
|
python-version: '3.8'
|
||||||
|
run-tests-ext: bat
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.9
|
||||||
run-tests-ext: bat
|
run-tests-ext: bat
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
@ -2003,7 +2003,8 @@ def _lock_file(f, exclusive, block):
|
|||||||
if not LockFileEx(msvcrt.get_osfhandle(f.fileno()),
|
if not LockFileEx(msvcrt.get_osfhandle(f.fileno()),
|
||||||
(0x2 if exclusive else 0x0) | (0x0 if block else 0x1),
|
(0x2 if exclusive else 0x0) | (0x0 if block else 0x1),
|
||||||
0, whole_low, whole_high, f._lock_file_overlapped_p):
|
0, whole_low, whole_high, f._lock_file_overlapped_p):
|
||||||
raise BlockingIOError('Locking file failed: %r' % ctypes.FormatError())
|
# NB: No argument form of "ctypes.FormatError" does not work on PyPy
|
||||||
|
raise BlockingIOError(f'Locking file failed: {ctypes.FormatError(ctypes.GetLastError())!r}')
|
||||||
|
|
||||||
def _unlock_file(f):
|
def _unlock_file(f):
|
||||||
assert f._lock_file_overlapped_p
|
assert f._lock_file_overlapped_p
|
||||||
|
Loading…
Reference in New Issue
Block a user