On 09/04/2012 09:47 AM, Bruce Momjian wrote:
On Mon, Sep  3, 2012 at 12:44:09PM -0400, Andrew Dunstan wrote:
The attached very small patch allows pg_upgrade's "make check" to
succeed on REL9_2_STABLE on my Mingw system.

However, I consider the issue I mentioned earlier regarding use of
forward slashes in the argument to rmdir to be a significant
blocker, so I'm going to go and fix that and then pull this all
together.

cheers

andrew
diff --git a/contrib/pg_upgrade/exec.c b/contrib/pg_upgrade/exec.c
index 6f993df..57ca1df 100644
--- a/contrib/pg_upgrade/exec.c
+++ b/contrib/pg_upgrade/exec.c
@@ -91,10 +91,12 @@ exec_prog(bool throw_error, bool is_priv, const char 
*log_file,
        else
                retval = 0;
+#ifndef WIN32
        if ((log = fopen_priv(log_file, "a+")) == NULL)
                pg_log(PG_FATAL, "cannot write to log file %s\n", log_file);
        fprintf(log, "\n\n");
        fclose(log);
+#endif
return retval;
  }
I am confused by this fix.  If pg_ctl was keeping that log file open,
wouldn't the log write fail when pg_dump or psql was run later?  I am
trying to understand how a later commands would not also trigger an
error.  Is it a timing thing?  If that is it, I would like to know and
have that documented.

Oh, hmm. I thought it was the postmaster holding the log, but now I see that we are giving it a different log file. Maybe it is a timing thing. I'll experiment and see if a sleep cures the problem.


...


Nope, still getting this after a sleep(5):

   cannot write to log file pg_upgrade_server_start.log
   Failure, exiting

...


[try some more] Nope, even in a loop lasting 60s I still got this.


So I'm a bit confused too. Seeing if I can narrow it down using ProcMon ...


cheers

andrew




--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to