rfc:fsync_function

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
rfc:fsync_function [2021/02/01 17:31]
dwgebler add fdatasync to proposal
rfc:fsync_function [2021/04/13 14:10] (current)
nikic
Line 2: Line 2:
   * Version: 1.0   * Version: 1.0
   * Date: 2021-01-30    * Date: 2021-01-30 
-  * Author: David Gebler, davidgebler@gmail.com +  * Author: David Gebler, me@davegebler.com 
-  * Status: Under Discussion+  * Status: Implemented (in PHP 8.1)
   * First Published at: http://wiki.php.net/rfc/fsync_function   * First Published at: http://wiki.php.net/rfc/fsync_function
  
Line 28: Line 28:
 bool(false) bool(false)
  
-$fp = fopen('file.txt', 'r'); +$fp = fopen('php://stdin', 'w');
-// Can't fsync / fdatasync read-only file, but it is a valid file handle, so we just return false with no warning.+
 var_dump(fsync($fp)); var_dump(fsync($fp));
 bool(false) bool(false)
 </code> </code>
 +
 +======== Sample documentation ========
 +
 +
 +fsync() - synchronize changes to a file
 +
 +fdatasync() - synchronize the data of a file
 +
 +fsync ( resource $stream ) : bool
 +
 +Request that all data for the open file pointer $stream is to be transferred to the storage device. The manner of synchronization is OS dependent. The fsync() function shall not return until the system has completed that action or until an error is detected.
 +
 +Returns true on success or false on failure.
 +
 +If the resource indicated by $stream is not a file pointer, an E_WARNING is emitted.
 +
  
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
Line 53: Line 68:
 ===== Proposed Voting Choices ===== ===== Proposed Voting Choices =====
 Accept RFC as proposed. Accept RFC as proposed.
- 
-===== Patches and Tests ===== 
-[[https://github.com/php/php-src/pull/6650|Initial PR here]]. 
  
 ===== Implementation ===== ===== Implementation =====
 +[[https://github.com/php/php-src/pull/6650|PR here]]
 +
 +===== Vote =====
 +<doodle title="fsync Function" auth="dwgebler" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ===== References ===== ===== References =====
  
 [[https://man7.org/linux/man-pages/man2/fsync.2.html]] [[https://man7.org/linux/man-pages/man2/fsync.2.html]]
rfc/fsync_function.1612200682.txt.gz · Last modified: 2021/02/01 17:31 by dwgebler