#29279: policykit build fails -- polkitagenthelperprivate.c uses fdatasync() ------------------------------+--------------------------------------------- Reporter: gnwiii@… | Owner: devans@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: fdatasync | Port: policykit ------------------------------+--------------------------------------------- Comment(by gnwiii@…): Replying to [comment:4 chris@…]:
I think gnwiii may have meant he replaced fdatasync with fsync, not fdata. When I replaced with fdata I got an error, but with fsync it worked. Also, this page says fdatasync and fsync should be the same:
http://pubs.opengroup.org/onlinepubs/009695399/functions/fdatasync.html
You are right -- I meant to type "fsync", not "fdata". The two functions may not be the same, as fdatasync only claims "synchronized I/O data integrity completion", so fsync may be slower (I would think policykit should err on the side of portability over performance): 3.375 Synchronized I/O Data Integrity Completion For read, [...]. For write, when the operation has been completed or diagnosed if unsuccessful. The write is complete only when the data specified in the write request is successfully transferred and all file system information required to retrieve the data is successfully transferred. File attributes that are not necessary for data retrieval (access time, modification time, status change time) need not be successfully transferred prior to returning to the calling process. 3.376 Synchronized I/O File Integrity Completion Identical to a synchronized I/O data integrity completion with the addition that all file attributes relative to the I/O operation (including access time, modification time, status change time) are successfully transferred prior to returning to the calling process. {{{ http://pubs.opengroup.org/onlinepubs/009604599/basedefs/xbd_chap03.html }}} -- Ticket URL: <https://trac.macports.org/ticket/29279#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS