Re: APR 1.0 released - Mailing list pgsql-hackers

From Reini Urban
Subject Re: APR 1.0 released
Date
Msg-id 413C0E72.30708@x-ray.at
Whole thread Raw
In response to Re: APR 1.0 released  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: APR 1.0 released  ("Andrew Dunstan" <andrew@dunslane.net>)
Re: APR 1.0 released  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
Bruce Momjian schrieb:
> I looked at the APR code to get some ideas for the Win32 port.  Some of
> the ideas were good, but in other places like rename they didn't do very
> well we were better off doing it ourselves and getting it right.
> 
> I remember looking at their code to fix the rename/unlink while the file
> is open problem, and they didn't seem to have a fix for that so we
> developed our own method that works like Unix.

sorry, but your rename doesn't work on cygwin. maybe it works with mingw.

cygwin has it's own and working way of doing rename's.
maybe you should have looked at the cygwin sources instead.
(src/winsup/cygwin/syscalls.cc)

first doing a WinAPI MoveFileEx and then after a failure trying the 
cygwin version, which will also try its own MoveFile loop, will not 
work. they are conflicting.

same with unlink, but at least the mingw and cygwin unlink versions 
don't conflict here. here you don't stack two conflicting loops together.
nevertheless cygwin's unlink is much better than pgunlink in case of 
locking problems. it does its own sort of delayed removal then.

IMHO port/dirmod.c is a dirty and half-baked hack, which works for mingw 
only.
-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: SnapshotNow == (Snapshot) NULL, seems bad
Next
From: Jaime Casanova
Date:
Subject: Re: Adding columns in the middle of tables