I use pygame for running experiments in cognitive science, and often I have heavy I/O demands so I like to fork off these tasks to separate processes (when using a multi-core ma
Try this link:
http://www.slideshare.net/dabeaz/an-introduction-to-python-concurrency#btnPrevious
It may help. The problem is that you are creating a process that never stops. This should be declared as a daemon:
p = multiprocessing.Process(target=f)
p.daemon = True
p.start()
Not sure if this will solve the problem, I'm just learning about the multiprocessing module as I'm posting this.