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 icordasc
Recipients icordasc, paul.moore, steve.dower, tim.golden, zach.ware
Date 2016-07-29.10:54:15
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1469789655.87.0.612290090536.issue27649@psf.upfronthosting.co.za>
In-reply-to
Content
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
History
Date User Action Args
2016-07-29 10:54:15icordascsetrecipients: + icordasc, paul.moore, tim.golden, zach.ware, steve.dower
2016-07-29 10:54:15icordascsetmessageid: <1469789655.87.0.612290090536.issue27649@psf.upfronthosting.co.za>
2016-07-29 10:54:15icordasclinkissue27649 messages
2016-07-29 10:54:15icordasccreate