This is a new feature which saves the downloads.dat every 30 seconds (a bit often for my taste), so if LimeWire crashes, the downloads won't be lost.
However it is called before the downloads.dat is read after starting LimeWire and it blocks that file, so if LimeWire tries to read downloads.dat it fails, because another thread is blocking the file. A better solution is, to move that code to another function, so it is called after the downloads.dat is read. That's what I did with my copy of the LimeWire sources.
P.S. I was only kidding before, when I said I didn't send the developers the changes. Of course I sent them some code which solves the bug, - after planting a malicious trojan into it, that will allow me to access your computer. |