As a side-note, I am unable to register a wiki.php.net account to raise this RFC, I get a very unhelpful error message which just says "That wasn't the answer we were expecting" when I submit my details. Anyone have any idea what that is?
On Thu, Jun 4, 2020 at 3:19 PM David Gebler <davidgeb...@gmail.com> wrote: > It's interesting that you mention fdatasync - perhaps a better C > programmer than I am can correct me, but I don't think it has an equivalent > on Windows, where _commit() is a wrap on FlushFileBuffers API. So in > respect of PHP implementation, the options would be: > > fdatasync() is not available on Windows, but fsync() is. fdatasync() is > available on UNIX builds. > > fdatasync() on Windows is an alias of fsync(), on UNIX fdatasync() is as > expected. > > Only fsync() is implemented for both Windows and Unix. > > -Dave > > On Wed, 3 Jun 2020, 11:16 Nikita Popov, <nikita....@gmail.com> wrote: > >> On Mon, Jun 1, 2020 at 6:57 PM David Gebler <davidgeb...@gmail.com> >> wrote: >> >>> Exactly as the subject says, I would like to propose an RFC for adding an >>> fsync() function for file resources, which would in essence be a thin >>> wrapper around C's fsync on UNIX systems and _commit on Windows. >>> >>> It seems to me an odd oversight that this has never been implemented in >>> PHP >>> and means PHP has no way to perform durable file write operations, making >>> it inherently unsuitable for any systems requiring more intensive I/O, >>> mission critical logs, auditing, etc. >>> >>> I am not really a C programmer and I have been able to implement a simple >>> working prototype of this as a compiled extension in merely a few hours, >>> so >>> I'm sure it wouldn't be difficult to bring in to the language core where >>> the functionality really belongs. >>> >>> Every other major programming language otherwise comparable to PHP in >>> features supports a way of providing durability. >>> >>> Thanks. >>> >> >> No objections from my side. I assume you'd want to add both fsync() and >> fdatasync()? >> >> I think all it takes for this one is a PR... >> >> Regards, >> Nikita >> >