Connecting Tech Pros Worldwide Help | Site Map

Is tempfile.mkdtemp() thread-safe?

  #1  
Old August 21st, 2008, 12:25 PM
Gabriel Rossetti
Guest
 
Posts: n/a
Hello,

I'm using tempfile.mkdtemp() in a multithreading program and I've been
having problems with it. Sometimes it tells me the file I'm trying to
access (in the directory created with tempfile.mkdtemp()) doesn't exist.
I suspect that tempfile.mkdtemp() returns the same directory to
different threads sometimes. Does anyone know anything about this or
have a solution? I have to create unique and temp. directories to use an
external program that creates a temp. file with the same name every
time, thus if I want to call it from several threads, each call has to
be from a different directory.

Thank you,
Gabriel
  #2  
Old August 22nd, 2008, 03:55 PM
Gabriel Rossetti
Guest
 
Posts: n/a

re: Is tempfile.mkdtemp() thread-safe?


Dennis Lee Bieber wrote:
Quote:
On Thu, 21 Aug 2008 13:22:33 +0200, Gabriel Rossetti
<gabriel.rossetti@arimaz.comdeclaimed the following in
comp.lang.python:
>
>
Quote:
>have a solution? I have to create unique and temp. directories to use an
>external program that creates a temp. file with the same name every
>time, thus if I want to call it from several threads, each call has to
>be from a different directory.
>>
>>
Have you considered passing in the ID (string-formatted) of the
thread itself as a parameter (suffix)?
>
No, that's a very good idea... you mean with the id() builtin function
correct? I'll try that, then. But if it's really not thread-safe, then
it will still return the same tmp dir to both calls.


No, that's a very good idea... you mean with the id() builtin function
correct? I'll try that, thanl
  #3  
Old August 22nd, 2008, 08:45 PM
Gabriel Rossetti
Guest
 
Posts: n/a

re: Is tempfile.mkdtemp() thread-safe?


Dennis Lee Bieber wrote:
Quote:
On Thu, 21 Aug 2008 13:22:33 +0200, Gabriel Rossetti
<gabriel.rossetti@arimaz.comdeclaimed the following in
comp.lang.python:
>
>
Quote:
>have a solution? I have to create unique and temp. directories to use an
>external program that creates a temp. file with the same name every
>time, thus if I want to call it from several threads, each call has to
>be from a different directory.
>>
>>
Have you considered passing in the ID (string-formatted) of the
thread itself as a parameter (suffix)?
>
Ok, it doesn't work, I think it's not thread-safe, but if someone knows
better, I'd appreciate it.

Thanks,
Gabriel
Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
Weekly Python Patch/Bug Summary Kurt B. Kaiser answers 0 March 17th, 2007 05:55 AM