mirror of
https://github.com/python/cpython.git
synced 2025-11-24 12:20:42 +00:00
[3.14] gh-123828: Fix data race in _interpchannels._waiting_release (GH-124107) (GH-139517)
gh-123828: Fix data race in `_interpchannels._waiting_release` (GH-124107)
(cherry picked from commit f39dea3bae)
Co-authored-by: Nadeshiko Manju <me@manjusaka.me>
This commit is contained in:
parent
9e091dbf02
commit
a69bdab541
2 changed files with 2 additions and 3 deletions
|
|
@ -6,7 +6,7 @@ import threading
|
|||
import time
|
||||
import unittest
|
||||
|
||||
from test.support import import_helper, skip_if_sanitizer
|
||||
from test.support import import_helper
|
||||
|
||||
_channels = import_helper.import_module('_interpchannels')
|
||||
from concurrent.interpreters import _crossinterp
|
||||
|
|
@ -365,7 +365,6 @@ class ChannelIDTests(TestBase):
|
|||
#self.assertIsNot(got, obj)
|
||||
|
||||
|
||||
@skip_if_sanitizer('gh-129824: race on _waiting_release', thread=True)
|
||||
class ChannelTests(TestBase):
|
||||
|
||||
def test_create_cid(self):
|
||||
|
|
|
|||
|
|
@ -511,12 +511,12 @@ _waiting_release(_waiting_t *waiting, int received)
|
|||
assert(!waiting->received);
|
||||
|
||||
waiting->status = WAITING_RELEASING;
|
||||
PyThread_release_lock(waiting->mutex);
|
||||
if (waiting->received != received) {
|
||||
assert(received == 1);
|
||||
waiting->received = received;
|
||||
}
|
||||
waiting->status = WAITING_RELEASED;
|
||||
PyThread_release_lock(waiting->mutex);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue