On Wed, Nov 25, 2015 at 05:51:41AM -0800, Aradeonas wrote:
> Hi,
> 
> I usedĀ GetTempFileName in a multi thread system and it causes problems
> as you guess already. So the best way in my mind is using GUID and maybe
> use it in a loop for checking not existing for extra safety. But I want
> to know is there any clean implementation already that I dont know of?

It's pointless to check whether the file exists, since there's a race
between checking whether the file exists and creating/using it.

You need something that creates the file atomically only if it doesn't
exist.  For posix use open(2) with O_CREAT | O_EXCL.  For Windows use
CreateFile() with CREATE_NEW.  When this fails, try again with another
file name.

Henry

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to