[New-bugs-announce] [issue1367] mkdir+chdir problem in multiple threads

anonyprog report at bugs.python.org
Wed Oct 31 13:43:32 CET 2007


New submission from anonyprog:

Under certain circumstances, creating a directory using os.mkdir then
immediately changing to it using os.chdir fails with a file not found
exception.

Here is some code to demonstrate that. Using the following program with
a parameter of 1 works fine. But anything greater than that and
exceptions occur in the first os.chdir until only one thread is left to
run completely.

Tested on Python 2.5.1 for Windows and Python 2.3.5 for Linux.

    # mkdirtest.py
    #
    # usage: mkdirtest <number of threads>

    import os, threading, sys

    x = int(sys.argv[1])

    class MkdirTest(threading.Thread):

        def __init__(self, t):
            threading.Thread.__init__(self)
            self.t = t
            print "new thread "+str(t)

        def run(self):
            for i in range(0,50):
                s = str(self.t)+"_"+str(i)
                print "mkdir "+s
                os.mkdir(s)
                os.chdir(s)
                os.chdir("..")
            print "end thread "+str(t)

    for t in range(0,x):
        print t
        a = MkdirTest(t)
        a.start()

----------
components: None
messages: 56992
nosy: anonyprog
severity: normal
status: open
title: mkdir+chdir problem in multiple threads
type: behavior
versions: Python 2.5

__________________________________
Tracker <report at bugs.python.org>
<http://bugs.python.org/issue1367>
__________________________________


More information about the New-bugs-announce mailing list