On 20 May 2009, at 16:15, Roland Turcan wrote:
I just didn't find relation of fpfsync function to mac os x implementation.
rtl/unix/unxdeclh.inc: Function fpfsync (fd : cint) : cint; cdecl; external clib name 'fsync';
JM> uses JM> unix; JM> ... JM> fpfsync(handle). I have the same actually, but it doesn't work as I expect. When I write into FileStream any data I call FlushBuffer function which contains fpfsync(handle), but because if still buggy version of ported application I have some expections which crashes application and then nearly all changed files are broken.
Are you checking the return value of fpfsync for errors? And are you certain that nothing is buffered in the stream itself, or elsewhere in the application?
Are you sure, that fpfsync works fine on Mac OS?
No. I don't think anyone ever added a test for that function to the test suite (nor for most other Unix-unit functions). Also see the man page of fsync for caveats (although those only apply in case of a power failure or an OS crash).
Jonas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal