Fix a race condition in create_dir().

This commit is contained in:
Francois Gouget 2005-03-01 11:00:06 +00:00 committed by Alexandre Julliard
parent 0502638ee1
commit 10e3d96617
1 changed files with 1 additions and 1 deletions

View File

@ -509,7 +509,7 @@ static void create_dir( const char *name, struct stat *st )
if (lstat( name, st ) == -1)
{
if (errno != ENOENT) fatal_perror( "lstat %s", name );
if (mkdir( name, 0700 ) == -1) fatal_perror( "mkdir %s", name );
if (mkdir( name, 0700 ) == -1 && errno != EEXIST) fatal_perror( "mkdir %s", name );
if (lstat( name, st ) == -1) fatal_perror( "lstat %s", name );
}
if (!S_ISDIR(st->st_mode)) fatal_error( "%s is not a directory\n", name );