Use threading instead of multiprocessing on Windows

multiprocessing isn't able to copy the socket on Windows: "AttributeError: 'module' object has no attribute 'fromfd'"
This commit is contained in:
Kevin Smyth 2013-07-17 13:13:23 -05:00
parent 8f12ca7a5a
commit ddcc1f0e1f
1 changed files with 11 additions and 0 deletions

View File

@ -904,6 +904,17 @@ Sec-WebSocket-Accept: %s\r
self.msg('%s: exiting due to --run-once'
% address[0])
break
elif sys.platform == 'win32':
import threading
self.vmsg('%s: new handler Thread' % address[0])
import pickle
selfcopy = pickle.loads(pickle.dumps(self))
p = threading.Thread(
target=selfcopy.top_new_client,
args=(startsock, address))
p.daemon = True
p.start()
startsock = None
elif multiprocessing:
self.vmsg('%s: new handler Process' % address[0])
p = multiprocessing.Process(