Re: rename/unlink handling for Win32
От | Bruce Momjian |
---|---|
Тема | Re: rename/unlink handling for Win32 |
Дата | |
Msg-id | 200304200247.h3K2lcX25234@candle.pha.pa.us обсуждение исходный текст |
Ответ на | rename/unlink handling for Win32 (Bruce Momjian <pgman@candle.pha.pa.us>) |
Список | pgsql-hackers |
Oh, one more thing. dirmod.c has Win32 source to show the actual hangs caused by rename/unlink --- just define TEST_VERSION and compile. If someone wants a binary, let me know. And sorry I posted to hackers rather than patches, where it belongs. --------------------------------------------------------------------------- Bruce Momjian wrote: > Here is my approach to the use of rename/unlink on Win32. The full > discussion is at: > > http://momjian.postgresql.org/cgi-bin/pgtodo?win32 > > Basically, rename/unlink will fail if the file is opened. You can move > the open file to another name, but that then requires open to loop in > case the file is missing. > > The following patch loops over rename/unlink every 1/10th of second, > printing a warning message after 1 second, and printing a completion > message if a warning message was printed. > > I looked at PeerDirect's and SRA's port, and neither provides a better > method. I looked at PeerDirect's and it actually has some conditional > code for rename. For example, it has a signal that is sent to all > backends to inform them to close their open WAL files. I am not sure if > that is required for us because there is some replication stuff in > there that we aren't using. Jan? In a few other places, it allows the > rename to fail. > > I am inclined to implement it as shown, then see what delayed > rename/unlinks we get in testing. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
В списке pgsql-hackers по дате отправления: