On Thu, Jul 25, 2013 at 10:57:28AM -0400, Bruce Momjian wrote: > Everyone should be aware that the 9.3 pg_upgrade -j/--jobs option on > Windows is currently broken, and hopefully will be fixed by the next > beta. > > Someone at PGDay UK told me they were getting pg_upgrade -j crashes on > Windows. Andrew Dunstan was able to reproduce the crash, and that has > been fixed, but there is still a race condition that I am trying to > diagnose.
After three days of testing and creating a Windows MinGW build environment (with Andrew's help), I have come up with the attached patch which fixes the pg_upgrade -j race condition on Windows. In summary, creating a file with fopen() from a non-primary thread and then calling system() soon after can result in a file-in-use error. The solution was to issue the fopen() after system() in such cases. This would be applied to head and 9.3. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers