| From: | Andrew Chernow <ac(at)esilo(dot)com> |
|---|---|
| To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: parallel restore vs. windows |
| Date: | 2008-12-09 17:06:53 |
| Message-ID: | 493EA5AD.7080803@esilo.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
>
> Parts of AH need deep cloning, notably the formatData member, which is
> done in _ReopenArchive().
>
Is it okay to clone this from within the thread?
The reopen() appears to mess with AH->FH, which mutltiple threads are
calling fclose on. The second thread is going to fail and the first
fclose() will close the main threads handle.
+ #ifndef WIN32
+ if (fclose(AH->FH) != 0)
+ die_horribly(AH, modulename, "could not close archive file: %s\n",
+ strerror(errno));
+ #else
How are things failing? Core dump, maybe you are seeing the above
error? The non-windows path is safe from this because a) it never does
an fclose and b) its a fork and has its own copy of the FH.
--
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alex Hunsaker | 2008-12-09 17:07:04 | Re: contrib/pg_stat_statements 1202 |
| Previous Message | Tom Lane | 2008-12-09 17:03:00 | Re: cvs head initdb hangs on unixware |