]> granicus.if.org Git - python/commit
bpo-35813: Tests and docs for shared_memory (#11816)
authorDavin Potts <applio@users.noreply.github.com>
Sun, 24 Feb 2019 04:08:16 +0000 (22:08 -0600)
committerGitHub <noreply@github.com>
Sun, 24 Feb 2019 04:08:16 +0000 (22:08 -0600)
commite895de3e7f3cc2f7213b87621cfe9812ea4343f0
tree5f282ce0e28bc6af3b78ab18f6ef18c665baf3b8
parentd610116a2e48b55788b62e11f2e6956af06b3de0
bpo-35813: Tests and docs for shared_memory (#11816)

* Added tests for shared_memory submodule.

* Added tests for ShareableList.

* Fix bug in allocationn size during creation of empty ShareableList illuminated by existing test run on Linux.

* Initial set of docs for shared_memory module.

* Added docs for ShareableList, added doctree entry for shared_memory submodule, name refactoring for greater clarity.

* Added examples to SharedMemoryManager docs, for ease of documentation switched away from exclusively registered functions to some explicit methods on SharedMemoryManager.

* Wording tweaks to docs.

* Fix test failures on Windows.

* Added tests around SharedMemoryManager.

* Documentation tweaks.

* Fix inappropriate test on Windows.

* Further documentation tweaks.

* Fix bare exception.

* Removed __copyright__.

* Fixed typo in doc, removed comment.

* Updated SharedMemoryManager preliminary tests to reflect change of not supporting all registered functions on SyncManager.

* Added Sphinx doctest run controls.

* CloseHandle should be in a finally block in case MapViewOfFile fails.

* Missed opportunity to use with statement.

* Switch to self.addCleanup to spare long try/finally blocks and save one indentation, change to use decorator to skip test instead.

* Simplify the posixshmem extension module.

Provide shm_open() and shm_unlink() functions.  Move other
functionality into the shared_memory.py module.

* Added to doc around size parameter of SharedMemory.

* Changed PosixSharedMemory.size to use os.fstat.

* Change SharedMemory.buf to a read-only property as well as NamedSharedMemory.size.

* Marked as provisional per PEP411 in docstring.

* Changed SharedMemoryTracker to be private.

* Removed registered Proxy Objects from SharedMemoryManager.

* Removed shareable_wrap().

* Removed shareable_wrap() and dangling references to it.

* For consistency added __reduce__ to key classes.

* Fix for potential race condition on Windows for O_CREX.

* Remove unused imports.

* Update access to kernel32 on Windows per feedback from eryksun.

* Moved kernel32 calls to _winapi.

* Removed ShareableList.copy as redundant.

* Changes to _winapi use from eryksun feedback.

* Adopt simpler SharedMemory API, collapsing PosixSharedMemory and WindowsNamedSharedMemory into one.

* Fix missing docstring on class, add test for ignoring size when attaching.

* Moved SharedMemoryManager to managers module, tweak to fragile test.

* Tweak to exception in OpenFileMapping suggested by eryksun.

* Mark a few dangling bits as private as suggested by Giampaolo.
Doc/library/concurrency.rst
Doc/library/multiprocessing.shared_memory.rst [new file with mode: 0644]
Lib/multiprocessing/managers.py
Lib/multiprocessing/shared_memory.py
Lib/test/_test_multiprocessing.py
Modules/_multiprocessing/clinic/posixshmem.c.h [new file with mode: 0644]
Modules/_multiprocessing/posixshmem.c
Modules/_winapi.c
Modules/clinic/_winapi.c.h