homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients davin, pitrou, sbt
Date 2016年11月23日.15:26:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1479914801.47.0.114591938702.issue28779@psf.upfronthosting.co.za>
In-reply-to
Content
The following script:
import multiprocessing
import os
def f():
 pass
multiprocessing.Lock()
if __name__ == "__main__":
 ctx = multiprocessing.get_context('forkserver')
 # modname is the script's importable name (not "__main__")
 modname = os.path.basename(__file__).split(".")[0]
 ctx.set_forkserver_preload([modname])
 proc = ctx.Process(target=f)
 proc.start()
 proc.join()
Fails with the following error:
Traceback (most recent call last):
 File "/home/antoine/miniconda3/envs/dask35/lib/python3.5/multiprocessing/forkserver.py", line 178, in main
 _serve_one(s, listener, alive_r, handler)
 File "/home/antoine/miniconda3/envs/dask35/lib/python3.5/multiprocessing/forkserver.py", line 212, in _serve_one
 code = spawn._main(child_r)
 File "/home/antoine/miniconda3/envs/dask35/lib/python3.5/multiprocessing/spawn.py", line 115, in _main
 prepare(preparation_data)
 File "/home/antoine/miniconda3/envs/dask35/lib/python3.5/multiprocessing/spawn.py", line 221, in prepare
 set_start_method(data['start_method'])
 File "/home/antoine/miniconda3/envs/dask35/lib/python3.5/multiprocessing/context.py", line 231, in set_start_method
 raise RuntimeError('context has already been set')
RuntimeError: context has already been set
This makes set_forkserver_preload() quite fragile if you preload any library that may create multiprocessing resources (such as locks) at the top level.
History
Date User Action Args
2016年11月23日 15:26:41pitrousetrecipients: + pitrou, sbt, davin
2016年11月23日 15:26:41pitrousetmessageid: <1479914801.47.0.114591938702.issue28779@psf.upfronthosting.co.za>
2016年11月23日 15:26:41pitroulinkissue28779 messages
2016年11月23日 15:26:40pitroucreate

AltStyle によって変換されたページ (->オリジナル) /