Message131947
Line 125 of multiprocessing.c is "*CMSG_DATA(cmsg) = fd;". CMSG_DATA returns an unsigned char*, while fd is an int, so this code does not support file descriptors > 256 (additionally, I'm not sure if the buffer is guaranteed to be initialized with zeros). recvfd has an analogous problem at line 168. Both of these need to be changed to copy the entire integer, e.g. by casting the result of CMSG_DATA to an int*.
http://hg.python.org/cpython/file/5deb2094f033/Modules/_multiprocessing/multiprocessing.c |
|
Date |
User |
Action |
Args |
2011-03-24 00:57:26 | Ben.Darnell | set | recipients:
+ Ben.Darnell |
2011-03-24 00:57:26 | Ben.Darnell | set | messageid: <1300928246.81.0.834552598366.issue11657@psf.upfronthosting.co.za> |
2011-03-24 00:57:23 | Ben.Darnell | link | issue11657 messages |
2011-03-24 00:57:23 | Ben.Darnell | create | |
|