#!/usr/bin/env python import multiprocessing, time def TestSubProcess(q): print 'TestSubProcess' item = q.get() # Fails with IOError if queue created in TestProcess def TestProcess(q): print 'TestProcess' q = multiprocessing.Queue() # ** Uncomment this line to trigger issue ** subProc = multiprocessing.Process(target=TestSubProcess, args=(q,)) subProc.start() time.sleep(20) if __name__ == '__main__': print 'Main' q = multiprocessing.Queue() proc = multiprocessing.Process(target=TestProcess, args=(q,)) proc.start() time.sleep(20)