Number: 1939
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
Subsys: Dot
Version: 2.27
System: x86-Windows-XP
Severity: minor
Problem:
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.
Owner: *
Status: *