Message311635
If I recall the discussion correctly, it was:
1. That this was worth doing precisely because the naive approach is likely to be broken in the presence of multiple threads;
2. It was only worth doing either as a true global disable that accounted for multi-threading (e.g. backed by a counted semaphore or the functional equivalent), or else by making gc enable/disable status have a thread local toggle in addition to the global one (so the context manager can ensure "GC is off *in this thread*, regardless of the global status").
Either of those two options requires changes to the main GC machinery though, as otherwise you basically *can't* write a correct context manager for this use case, since a direct call to gc.enable() in another thread would always be problematic. |
|
Date |
User |
Action |
Args |
2018-02-05 02:35:03 | ncoghlan | set | recipients:
+ ncoghlan, rhettinger, gregory.p.smith, pitrou, ned.deily, pmpp, eric.snow, serhiy.storchaka, yselivanov, josh.r, YoSTEALTH, lisroach, pablogsal |
2018-02-05 02:35:03 | ncoghlan | set | messageid: <1517798103.16.0.467229070634.issue31356@psf.upfronthosting.co.za> |
2018-02-05 02:35:03 | ncoghlan | link | issue31356 messages |
2018-02-05 02:35:01 | ncoghlan | create | |
|