Re: parallel restore vs. windows
От | Andrew Dunstan |
---|---|
Тема | Re: parallel restore vs. windows |
Дата | |
Msg-id | 493EACA8.4070702@dunslane.net обсуждение исходный текст |
Ответ на | Re: parallel restore vs. windows (Andrew Chernow <ac@esilo.com>) |
Ответы |
Re: parallel restore vs. windows
Re: parallel restore vs. windows |
Список | pgsql-hackers |
Andrew Chernow wrote: >> >> 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? I don't see why not. > > 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. No, as this fragment shows, fclose() is NOT called on Windows. The program dies with a nasty dialog box when restoring a dump of the regression database after the second COPY thread disconnects. cheers andrew
В списке pgsql-hackers по дате отправления: