Author ghum
Recipients ghum
Date 2009-04-29.15:38:00
SpamBayes Score 2.85057e-11
Marked as misclassified No
Message-id <1241019482.48.0.575158847578.issue5879@psf.upfronthosting.co.za>
In-reply-to
Content
the example from

http://docs.python.org/library/multiprocessing.html?highlight=multiprocessing#module-multiprocessing

named "
# Example where a pool of http servers share a single listening socket
#
" 
does not work on windows.

Reason: 

s = socket.fromfd(fd, family, type_, proto)

in line 156 of reduction.py

fails, because fromfd is not available on windows. Sad thing:
reduction.py was put into processing.py exactly to solve that problem
(i.e. reduction.py is provided as workaround for socket.fromfd not
available on windows, from the documentation: 
if sys.platform == 'win32':
    import multiprocessing.reduction
    # make sockets pickable/inheritable


the solution within processing was:

try:
    fromfd = socket.fromfd
except AttributeError:
    def fromfd(fd, family, type, proto=0):
        s = socket._socket.socket()
        _processing.changeFd(s, fd, family, type, proto)
        return s

but: _multiprocessing has no longer a method changeFd.

Harald
History
Date User Action Args
2009-04-29 15:38:02ghumsetrecipients: + ghum
2009-04-29 15:38:02ghumsetmessageid: <1241019482.48.0.575158847578.issue5879@psf.upfronthosting.co.za>
2009-04-29 15:38:01ghumlinkissue5879 messages
2009-04-29 15:38:00ghumcreate