Skip to content

Commit

Permalink
update to python 3.10.8
Browse files Browse the repository at this point in the history
  • Loading branch information
mmckerns committed Oct 15, 2022
1 parent e3b35dd commit 23d493a
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 3 deletions.
21 changes: 20 additions & 1 deletion py3.10/README_MODS
Original file line number Diff line number Diff line change
Expand Up @@ -857,4 +857,23 @@ $ diff Python-3.10.5/Lib/test/_test_multiprocessing.py Python-3.10.6/Lib/test/_t
> name = f'test_semlock_subclass-{os.getpid()}'
> s = SemLock(1, 0, 10, name, 0)
> _multiprocessing.sem_unlink(name)

# ----------------------------------------------------------------------
diff Python-3.10.6/Lib/multiprocessing/resource_tracker.py Python-3.10.8/Lib/multiprocessing/resource_tracker.py
164c164
< if len(name) > 512:
---
> if len(msg) > 512:
167c167
< raise ValueError('name too long')
---
> raise ValueError('msg too long')
diff Python-3.10.6/Lib/test/_test_multiprocessing.py Python-3.10.8/Lib/test/_test_multiprocessing.py
5379a5380,5387
> def test_too_long_name_resource(self):
> # gh-96819: Resource names that will make the length of a write to a pipe
> # greater than PIPE_BUF are not allowed
> rtype = "shared_memory"
> too_long_name_resource = "a" * (512 - len(rtype))
> with self.assertRaises(ValueError):
> resource_tracker.register(too_long_name_resource, rtype)
>
4 changes: 2 additions & 2 deletions py3.10/multiprocess/resource_tracker.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,10 @@ def unregister(self, name, rtype):
def _send(self, cmd, name, rtype):
self.ensure_running()
msg = '{0}:{1}:{2}\n'.format(cmd, name, rtype).encode('ascii')
if len(name) > 512:
if len(msg) > 512:
# posix guarantees that writes to a pipe of less than PIPE_BUF
# bytes are atomic, and that PIPE_BUF >= 512
raise ValueError('name too long')
raise ValueError('msg too long')
nbytes = os.write(self._fd, msg)
assert nbytes == len(msg), "nbytes {0:n} but len(msg) {1:n}".format(
nbytes, len(msg))
Expand Down
8 changes: 8 additions & 0 deletions py3.10/multiprocess/tests/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5386,6 +5386,14 @@ def test_resource_tracker_reused(self):

self.assertTrue(is_resource_tracker_reused)

def test_too_long_name_resource(self):
# gh-96819: Resource names that will make the length of a write to a pipe
# greater than PIPE_BUF are not allowed
rtype = "shared_memory"
too_long_name_resource = "a" * (512 - len(rtype))
with self.assertRaises(ValueError):
resource_tracker.register(too_long_name_resource, rtype)


class TestSimpleQueue(unittest.TestCase):

Expand Down

0 comments on commit 23d493a

Please sign in to comment.