
Hello everyone, Here's the problem : I need to run a windows executable (proprietary, they won't give us the code) with wine to do some audio compression. I need to do different processing before (like calling sox, or parsing files, etc) so I wrote some functions that do everything. The windows exec creates a tmp file named "_tmp" in the working dir, so if I want to run several in parallel, I have to create a tmp dir with a unique name and change the working dir, if not then the multiple executions will overwrite each other's tmp file. So when I call my function that does the whole process, I first create a tmp dir, then pass it the tmp dir and the input filename, then once inside the function, it does an os.chDir() into the tmp dir and at the end it does it again to go back to the original current dir. Then I run that function in threads. The problem is that threads share the current dir : http://www.biais.org/blog/index.php/2007/01/23/19-python-threads-and-oschdir http://bugs.python.org/issue1367 so I need to use processes instead, as they each have their own current dir. The thing is that from what I understand, Twisted's process API is intended to be used with external executables only, correct? I wasn' t able to fins anything that allowed me to do stuff like I would using fork(). Should I just use python's fock() instead? Is it safe with Twisted? Thank you, Gabriel