Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +17643
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/18266
___
Python tracker
<https://bugs.python.org/issu
New submission from Pierre Glaser :
The new Pickler reducer_override mechanism introduced in `Python3.8` generates
a reference cycle: for optimization purposes, a the pickler.reducer_override
bound method is referenced into the reducer_override attribute of the Pickler's
struct. Thus,
Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +15524
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/15883
___
Python tracker
<https://bugs.python.org/issu
Change by Pierre Glaser :
--
pull_requests: +15523
pull_request: https://github.com/python/cpython/pull/15882
___
Python tracker
<https://bugs.python.org/issue38
Pierre Glaser added the comment:
> Dropping this into Lib/multiprocessing/spawn.py should cause a repro:
if WINSERVICE:
_python_exe = os.path.join(sys.exec_prefix, 'python.exe')
else:
_python_exe = getattr(sys, '_base_executable', sys.ex
New submission from Pierre Glaser :
If I am not mistaken, when creating a new process on Python3.7 and later on
Windows, if using a virtualenv, Python now uses a launcher. The launcher is
being notified that it must create a virtual-environment Python (and not a
system Python) program using
Change by Pierre Glaser :
--
pull_requests: +14807
pull_request: https://github.com/python/cpython/pull/15058
___
Python tracker
<https://bugs.python.org/issue28
Pierre Glaser added the comment:
Sure, although I won't be able to merge it. Make sure you ping a core-dev such
as pitrou or davin :-)
--
___
Python tracker
<https://bugs.python.org/is
Pierre Glaser added the comment:
The root of the error is that struct.pack_into starts by memsetting the
underlying memory area with NULL bytes before filling the data with memcpy. If
ShareableList._get_packing_format is called between the two operations (through
a concurrent __getitem__
Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +14319
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/14503
___
Python tracker
<https://bugs.python.org/issu
Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +14110
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/14288
___
Python tracker
<https://bugs.python.org/issu
Change by Pierre Glaser :
--
pull_requests: +14108
stage: resolved -> patch review
pull_request: https://github.com/python/cpython/pull/14286
___
Python tracker
<https://bugs.python.org/issu
New submission from Pierre Glaser :
Hi,
Following https://bugs.python.org/issue26836, I started thinking about using
memfd_create instead of shm_open for creating shared-memory segments in
multiprocessing.shared_memory.
The main advantage of memfd_create over shm_open is that the generated
Pierre Glaser added the comment:
>From a quick skim at the man page of memfd_create, this looks promising.
--
___
Python tracker
<https://bugs.python.org/issu
Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +13360
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue36977>
___
___
Py
New submission from Pierre Glaser :
The new multiprocessing.managers.SharedMemoryManager spawns a server that
delivers memory segments to a parent Python process. If the parent process
terminates unexpectedly, we should now make the manager process notice this
termination it using the recent
Pierre Glaser added the comment:
Just did so.
--
___
Python tracker
<https://bugs.python.org/issue36950>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +13318
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue36950>
___
___
Py
Pierre Glaser added the comment:
Lib/test/test_asyncio/utils.py defines a similar helper:
def run_until(loop, pred, timeout=30):
deadline = time.monotonic() + timeout
while not pred():
if timeout is not None:
timeout = deadline - time.monotonic()
if
Change by Pierre Glaser :
--
nosy: +pierreglaser
___
Python tracker
<https://bugs.python.org/issue36950>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Pierre Glaser :
--
nosy: +pierreglaser
___
Python tracker
<https://bugs.python.org/issue24882>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Pierre Glaser :
--
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue35933>
___
___
Pyth
Change by Pierre Glaser :
--
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue36368>
___
___
Pyth
Pierre Glaser added the comment:
Thanks for the fix Antoine.
--
___
Python tracker
<https://bugs.python.org/issue36894>
___
___
Python-bugs-list mailin
Change by Pierre Glaser :
--
pull_requests: +13203
___
Python tracker
<https://bugs.python.org/issue36867>
___
___
Python-bugs-list mailing list
Unsubscribe:
Pierre Glaser added the comment:
We can do that, or maybe we can try to wait on the `resource_tracker's` pid?
--
___
Python tracker
<https://bugs.python.org/is
Change by Pierre Glaser :
--
pull_requests: +13182
___
Python tracker
<https://bugs.python.org/issue36867>
___
___
Python-bugs-list mailing list
Unsubscribe:
Pierre Glaser added the comment:
Actually, I was properly unlinking the shared_memory segments. The warning
messages are due to bad interactions between the ResourceTracker and the
SharedMemoryManager object. In this particular case, it's easy to change a
little bit the problematic te
Pierre Glaser added the comment:
Yes, one test I wrote in an unrelated commit does not unlink a memory segment.
Now the ResourceTracker complains. Fixing it now.
--
___
Python tracker
<https://bugs.python.org/issue36
Pierre Glaser added the comment:
Shared memory segments are now tracked by the brand new resource_tracker!
Thanks Antoine for the review.
Does anyone have an opinion on introducing a public API for users to make the
resource_tracker track resources of their choice?
What We have in mind is
Change by Pierre Glaser :
--
pull_requests: +13146
___
Python tracker
<https://bugs.python.org/issue36338>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +13132
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue36867>
___
___
Py
New submission from Pierre Glaser :
Hi all,
Olivier Grisel, Thomas Moreau and myself are currently working on increasing
the range of action of the semaphore_tracker in Python.
multiprocessing.semaphore_tracker is a little known module, that launches a
server process used to track the life
Change by Pierre Glaser :
--
pull_requests: +12530
___
Python tracker
<https://bugs.python.org/issue35900>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Pierre Glaser :
--
pull_requests: +12526
___
Python tracker
<https://bugs.python.org/issue36338>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Pierre Glaser :
--
pull_requests: +12525
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue36338>
___
___
Python-bugs-list mai
Change by Pierre Glaser :
--
pull_requests: +12449
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue35900>
___
___
Python-bugs-list mai
Pierre Glaser added the comment:
Done.
--
___
Python tracker
<https://bugs.python.org/issue36368>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Pierre Glaser :
--
pull_requests: +12436
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue36368>
___
___
Python-bugs-list mai
Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +12435
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue36338>
___
___
Py
New submission from Pierre Glaser :
When starting a SharedMemoryManager in an interactive session, any
KeyboardInterrupt event will be transmitted to the (sub)process running the
shared memory server, which causes the Manager to be unusable thereafter:
>>> from multiprocessing
Change by Pierre Glaser :
--
pull_requests: +12394
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue36364>
___
___
Python-bugs-list mai
New submission from Pierre Glaser :
The examples of the new shared_memory module using SharedMemoryManager try to
import the class from multiprocessing.shared_memory instead of
multiprocessing.managers, making them fail.
--
assignee: docs@python
components: Documentation
files: 0001
Pierre Glaser added the comment:
Update:
Instead of changing permission on some attributes of function objects
(__globals__ and __closure__), we added an optional argument called
state_setter to save_reduce. This expects a callable that will be saved inside
the object's pickle string
Pierre Glaser added the comment:
I added a PR with a small patch to document this behavior and reconcile
_pickle.c and pickle.py
Some explanations on why I am pushing this forward:
Pickling instances of classes/subclasses with slots is done natively for pickle
protocol >= 2. Mention
Change by Pierre Glaser :
--
keywords: +patch
pull_requests: +11981
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue35933>
___
___
Py
Change by Pierre Glaser :
Added file: https://bugs.python.org/file48114/test_slots.py
___
Python tracker
<https://bugs.python.org/issue35933>
___
___
Python-bugs-list m
Change by Pierre Glaser :
Removed file: https://bugs.python.org/file48113/test_slots.py
___
Python tracker
<https://bugs.python.org/issue35933>
___
___
Python-bugs-list m
Pierre Glaser added the comment:
Thanks Antoine and Raymond for the feedback.
Indeed, a subclass of a slotted class can have a dict: I enriched the script,
pickling_depickling instances of such subclasses, with the length-2 tuple
__getstate__ method, and made sure their attributes were
Change by Pierre Glaser :
Added file: https://bugs.python.org/file48113/test_slots.py
___
Python tracker
<https://bugs.python.org/issue35933>
___
___
Python-bugs-list m
Change by Pierre Glaser :
Removed file: https://bugs.python.org/file48112/test_slots.py
___
Python tracker
<https://bugs.python.org/issue35933>
___
___
Python-bugs-list m
Change by Pierre Glaser :
Removed file: https://bugs.python.org/file48111/test_slots.py
___
Python tracker
<https://bugs.python.org/issue35933>
___
___
Python-bugs-list m
Change by Pierre Glaser :
Added file: https://bugs.python.org/file48112/test_slots.py
___
Python tracker
<https://bugs.python.org/issue35933>
___
___
Python-bugs-list m
Pierre Glaser added the comment:
It turns out that both pickle and _pickle implement this feature, but the
behavior is inconsistent.
- As a reminder, instances of slotted classes do not have a dict attribute (1)
- On the other side, when pickling slotted class instances, __getstate__ can
New submission from Pierre Glaser :
Hello all,
This 16-year old commit (*) allows an object's state to be updated
using its slots instead of its __dict__ at unpickling time. To use this
functionality, the state keyword-argument of Pickler.save_reduce (which maps to
the third item of the
Change by Pierre Glaser :
--
pull_requests: +11738
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue35911>
___
___
Python-bugs-list mai
Change by Pierre Glaser :
--
pull_requests: +11738, 11739
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue35911>
___
___
Python-
Change by Pierre Glaser :
Added file: https://bugs.python.org/file48106/test_cell.py
___
Python tracker
<https://bugs.python.org/issue35911>
___
___
Python-bugs-list m
New submission from Pierre Glaser :
cell objects are containers for the free variables of functions defined in a
local scope. They are located in a function's __closure__ attribute (when
it is not None). A cell is a very simple object, with a single (optional, e.g
the cell can be
Pierre Glaser added the comment:
Pickler objects provide a dispatch_table attribute, where the user can specify
custom saving functions depending on the object-to-be-saved type. However, for
performance purposes, this table is predated (in the C implementation only) by
a hardcoded switch that
New submission from Pierre Glaser :
Pickler objects provide a dispatch_table attribute, where the user can specify
custom saving functions depending on the object-to-be-saved type. However, for
performance purposes, this table is predated (in the C implementation only) by
a hardcoded switch
61 matches
Mail list logo