New submission from Ian Cordasco:

In trying to add support for multiprocessing on Windows in Flake8, I found that 
the behaviour of the module is significantly different than on Unix. If you 
have a class that has class-level attributes on Unix, and you change them, put 
the class into a Queue (or have it attached to an object that moves through a 
Queue) then the values you set will be preserved [1]. On Windows [2], the 
attributes are reset.


As a minimal reproduction, I've thrown together this project: 
https://github.com/sigmavirus24/windows-multiprocessing-bug which is running 
tox on AppVeyor 
(https://ci.appveyor.com/project/sigmavirus24/windows-multiprocessing-bug) and 
Travis CI (https://travis-ci.org/sigmavirus24/windows-multiprocessing-bug) so 
the behaviours can be compared.

For application developers, it would be wonderful if we could rely on the 
standard library behaving the same way in this case across both operating 
systems.

[1] 
https://travis-ci.org/sigmavirus24/windows-multiprocessing-bug/jobs/148276925#L158
 
https://travis-ci.org/sigmavirus24/windows-multiprocessing-bug/jobs/148276926#L158
 
https://travis-ci.org/sigmavirus24/windows-multiprocessing-bug/jobs/148276927#L157

[2] 
https://ci.appveyor.com/project/sigmavirus24/windows-multiprocessing-bug/build/1.0.2#L24

----------
components: Windows
messages: 271618
nosy: icordasc, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: multiprocessing on Windows does not properly manage class attributes
type: behavior
versions: Python 3.3, Python 3.4, Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27649>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to