[issue37266] Daemon threads must be forbidden in subinterpreters

2020-04-12 Thread STINNER Victor
STINNER Victor added the comment: New changeset 14d5331eb5e6c38be12bad421bd59ad0fac9e448 by Victor Stinner in branch 'master': bpo-40234: Revert "bpo-37266: Daemon threads are now denied in subinterpreters (GH-14049)" (GH-19456)

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-04-10 Thread STINNER Victor
Change by STINNER Victor : -- pull_requests: +18811 pull_request: https://github.com/python/cpython/pull/19456 ___ Python tracker ___

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-04-08 Thread Eric Snow
Eric Snow added the comment: I've opened bpo-40234 to address backward incompatibility from this change (e.g. affecting mod-wsgi). -- ___ Python tracker ___

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-03-02 Thread Antoine Pitrou
Antoine Pitrou added the comment: Ok, I opened issue39812 -- ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-29 Thread STINNER Victor
STINNER Victor added the comment: > There will be a problem with `concurrent.futures.ProcessPoolExecutor`, which > currently launches its management thread as a daemon thread. Please don't discuss in closed issues. If you want to support concurrent.futures in subinterpreters, please open a

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-29 Thread Kyle Stanley
Kyle Stanley added the comment: > To me, yes. If Victor is also on-board with the idea, I can look into writing a patch for it (after testing to verify that it allows us to change the daemon threads to normal threads in concurrent.futures without issues). --

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-29 Thread Antoine Pitrou
Antoine Pitrou added the comment: > To me, this seems best implemented as a new public function for the threading > module, perhaps something like `threading.register_atexit()`. Would this be > reasonable? To me, yes. -- ___ Python tracker

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-28 Thread Kyle Stanley
Kyle Stanley added the comment: > The daemon thread itself is not problematic, because ProcessPoolExecutor uses > an atexit hook to shutdown itself and therefore join the management thread. ThreadPoolExecutor also uses an atexit hook for its shutdown process. Also, it sets each worker

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-28 Thread Antoine Pitrou
Antoine Pitrou added the comment: Also cc'ing Kyle for the concurrent.futures issue. -- nosy: +aeros ___ Python tracker ___ ___

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-28 Thread Antoine Pitrou
Antoine Pitrou added the comment: Perhaps the solution would be to have an additional kind of atexit hooks, which get executed before threads are joined. -- nosy: +ncoghlan ___ Python tracker

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-28 Thread Antoine Pitrou
Antoine Pitrou added the comment: There will be a problem with `concurrent.futures.ProcessPoolExecutor`, which currently launches its management thread as a daemon thread. The daemon thread itself is not problematic, because ProcessPoolExecutor uses an atexit hook to shutdown itself and

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-07 Thread STINNER Victor
STINNER Victor added the comment: I reported the issue to jep: https://github.com/ninia/jep/issues/229 -- ___ Python tracker ___

[issue37266] Daemon threads must be forbidden in subinterpreters

2020-02-07 Thread STINNER Victor
STINNER Victor added the comment: FYI python-jep project is broken by this change: https://bugzilla.redhat.com/show_bug.cgi?id=1792062 "JEP embeds CPython in Java through JNI and is safe to use in a heavily threaded environment." https://github.com/ninia/jep FAIL:

[issue37266] Daemon threads must be forbidden in subinterpreters

2019-07-04 Thread STINNER Victor
STINNER Victor added the comment: New changeset b4e68960b90627422325fdb75f463df1e4153c6e by Victor Stinner in branch 'master': bpo-37266: Add bpo number to the What's New entry (GH614584) https://github.com/python/cpython/commit/b4e68960b90627422325fdb75f463df1e4153c6e --

[issue37266] Daemon threads must be forbidden in subinterpreters

2019-07-04 Thread STINNER Victor
Change by STINNER Victor : -- pull_requests: +14402 pull_request: https://github.com/python/cpython/pull/14584 ___ Python tracker ___

[issue37266] Daemon threads must be forbidden in subinterpreters

2019-06-14 Thread STINNER Victor
STINNER Victor added the comment: Daemon threads must die. That's a first step towards their death! -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker

[issue37266] Daemon threads must be forbidden in subinterpreters

2019-06-14 Thread STINNER Victor
STINNER Victor added the comment: New changeset 066e5b1a917ec2134e8997d2cadd815724314252 by Victor Stinner in branch 'master': bpo-37266: Daemon threads are now denied in subinterpreters (GH-14049) https://github.com/python/cpython/commit/066e5b1a917ec2134e8997d2cadd815724314252 --

[issue37266] Daemon threads must be forbidden in subinterpreters

2019-06-13 Thread STINNER Victor
Change by STINNER Victor : -- keywords: +patch pull_requests: +13911 stage: -> patch review pull_request: https://github.com/python/cpython/pull/14049 ___ Python tracker ___

[issue37266] Daemon threads must be forbidden in subinterpreters

2019-06-13 Thread Karthikeyan Singaravelan
Change by Karthikeyan Singaravelan : -- nosy: +eric.snow ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue37266] Daemon threads must be forbidden in subinterpreters

2019-06-13 Thread STINNER Victor
New submission from STINNER Victor : Py_EndInterpreter() calls threading._shutdown() which waits for non-daemon threads spawned in the subinterpreters. Problem: daemon threads continue to run after threading._shutdown(), but they rely on an interpreter which is being finalized and then