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 sbt
Recipients amaury.forgeotdarc, asksol, brian.curtin, gregory.p.smith, jnoller, pitrou, santoso.wijaya, sbt, tim.golden
Date 2012-04-13.11:05:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1334315102.35.0.66426420336.issue11750@psf.upfronthosting.co.za>
In-reply-to
Content
I think there are some issues with the treatment of the DWORD type.  (DWORD is a typedef for unsigned long.)

_subprocess always treats them as signed, whereas _multiprocessing treats them (correctly) as unsigned.  _windows does a mixture: functions from _subprocess parse DWORD arguments as signed ("i"), functions from _multiprocessing parse DWORD arguments as unsigned ("k"), and the constants are signed.

So in _windows the constants GENERIC_READ, NMPWAIT_WAIT_FOREVER and INFINITE will be negative.  I think this will potentially cause errors from PyArg_ParseTuple() when used as arguments to functions from _multiprocessing.

I think it is also rather confusing that some functions (eg CreatePipe()) return handles using a wrapper type which closes on garbage collection, while others (eg CreateNamedPipe()) return handles as plain integers.

(The code also needs updating because quite a few functions have since been added to _multiprocessing.win32.)
History
Date User Action Args
2012-04-13 11:05:02sbtsetrecipients: + sbt, gregory.p.smith, amaury.forgeotdarc, pitrou, tim.golden, jnoller, brian.curtin, asksol, santoso.wijaya
2012-04-13 11:05:02sbtsetmessageid: <1334315102.35.0.66426420336.issue11750@psf.upfronthosting.co.za>
2012-04-13 11:05:01sbtlinkissue11750 messages
2012-04-13 11:05:01sbtcreate