Skip site navigation (1) Skip section navigation (2)

very elaborate mkdir error checking in pg_dump

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: very elaborate mkdir error checking in pg_dump
Date: 2012-07-19 18:59:39
Message-ID: 1342724379.13354.3.camel@vanquo.pezone.net (view raw or flat)
Thread:
Lists: pgsql-hackers
Is there a real point to all this code in pg_backup_directory.c?

static void
createDirectory(const char *dir)
{
    struct stat st;

    /* the directory must not exist yet. */
    if (stat(dir, &st) == 0)
    {
        if (S_ISDIR(st.st_mode))
            exit_horribly(modulename,
                          "cannot create directory %s, it exists already\n",
                          dir);
        else
            exit_horribly(modulename,
                          "cannot create directory %s, a file with this name "
                          "exists already\n", dir);
    }

    /*
     * Now we create the directory. Note that for some race condition we could
     * also run into the situation that the directory has been created just
     * between our two calls.
     */
    if (mkdir(dir, 0700) < 0)
        exit_horribly(modulename, "could not create directory %s: %s\n",
                      dir, strerror(errno));
}

Couldn't we just call mkdir() and report the strerrno(errno) to begin
with, like everyone else does?


Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2012-07-19 19:15:20
Subject: Re: very elaborate mkdir error checking in pg_dump
Previous:From: Tom LaneDate: 2012-07-19 18:57:26
Subject: Re: [PERFORM] DELETE vs TRUNCATE explanation

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group