Title: can't run multiple instances of dot.exe due to temp file
Submitter: Nesa Simon David
Date: Wed Apr 28 04:34:28 2010
When dot.exe is run using GVEdit.exe as a front end, the program uses a
temporary file whose name (___temp.dot) is hard-coded into the program.
This prevents users from running multiple instances of dot.exe to take
advantage of multi-core processors. My computer has 2x6 cores, and with
the current version of dot.exe, i can't take advantage of parallel
processing capabilities of my computer. I am processing about 7 extremely
large dot files, and currently i have to wait for one to finish before
starting another one.
To replicate the problem, create a fairly large dot file, (mine is 1.7 mb
containing about 25,000 lines and about 10-15k nodes) and open it in
gvedit.exe. Click run and choose SVG and uncheck "preview" and click Ok.
While the first one is running, open another similarly large file
in another instance of GVEdit (because the first one is blocking and
waiting on dot.exe to finish). Choose the same run options and click ok.
An error message will be displayed, saying that the second GVedit
couldn't create a temporary file.
Output file: b1939.png
Fix: Change the dot.exe file, so that it uses a randomized temp file name.