Re: fork/exec patch - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: fork/exec patch
Date
Msg-id 200312170235.hBH2ZNJ07561@candle.pha.pa.us
Whole thread Raw
In response to Re: fork/exec patch  (Claudio Natoli <claudio.natoli@memetrics.com>)
List pgsql-patches
Claudio Natoli wrote:
>
> Resubmission, incorporating Neil Conway's comments and some minor
> corrections.

I am now thinking we have to remove pgsql/data/pgsql_tmp
unconditionally:

    ***************
    *** 1217,1224 ****
          {
              while ((db_de = readdir(db_dir)) != NULL)
              {
    !             if (strcmp(db_de->d_name, ".") == 0 ||
    !                 strcmp(db_de->d_name, "..") == 0)
                      continue;

                  snprintf(temp_path, sizeof(temp_path),
    --- 1212,1223 ----
          {
              while ((db_de = readdir(db_dir)) != NULL)
              {
    !             if (strcmp(db_de->d_name, ".") == 0
    ! #ifndef EXEC_BACKEND
    !             /* no PG_TEMP_FILES_DIR in DataDir in non EXEC_BACKEND case */
    !                 || strcmp(db_de->d_name, "..") == 0
    ! #endif
    !             )
                      continue;

The reason is that if they stop a postmaster that is fork/exec, install
a non-exec postmaster, and restart, we should still clear out that
directory.  I guess what i am saying is that I don't want to tie the
directory format to the exec() case of the binary.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: Claudio Natoli
Date:
Subject: Re: fork/exec patch
Next
From: Peter Eisentraut
Date:
Subject: Re: Unix timestamp -> timestamp, per Tom Lane :)