Re: fsync with sync, and Win32 unlink

Поиск
Список
Период
Сортировка
От Claudio Natoli
Тема Re: fsync with sync, and Win32 unlink
Дата
Msg-id A02DEC4D1073D611BAE8525405FCCE2B55F376@harris.memetrics.local
обсуждение исходный текст
Ответы Re: fsync with sync, and Win32 unlink  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers-win32

Tom Lane wrote:
> Claudio Natoli <claudio.natoli@memetrics.com> writes:
> > Tom, can you hold off on "unlink handling" part of the
> > implementation, at least for a few days?
>
> Love to ;-)

Figured this wouldn't cause you too much grief :-)


> > I'm testing a patch right now to work around this very
> > issue (involves, under win32, replacing _open() with CreateFile, which
> > accepts parameters to allow deletion of the held file.
> > Initial testing looks good, but it'll need community review).
>
> However, I don't see exactly how that can win?

Why not?

In any case, attached is the code I've currently got. Comments/criticisms
most welcome.

FWIW, replacing the call to open() (strictly, _open() under win32) in
BasicOpenFile (fd.c) with this win32_open() allows the regression tests to
pass through the transactions, foreign_key, and alter_table tests without
locking up (which is what they currently do). All in all, the change looks
sound, however I make no guarantee that a corner case has not been missed.

[One thing I have noticed is that database directories don't get removed
when dropping the db, leaving a whole stack of empty directories when
running the regression tests in a loop. However, this could very well be
pre-existing.]

Cheers,
Claudio



---
Certain disclaimers and policies apply to all email sent from Memetrics.
For the full text of these disclaimers and policies see
<a
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
ailpolicy.html</a>



Вложения

В списке pgsql-hackers-win32 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: fsync with sync, and Win32 unlink
Следующее
От: Tom Lane
Дата:
Сообщение: Re: fsync with sync, and Win32 unlink