[rabbitmq-discuss] fsync on OSX

Ben Hood 0x6e6562 at gmail.com
Sat Sep 6 18:17:56 BST 2008


Hi all,

Recently there was a discussion on #rabbitmq about OTP's usage of the
fsync syscall on OSX.

This was identified as an issue in the context of persistent queues,
because the sync call in OTP did not have the guarantee of full
synchronous persistence.

Now, thanks to Jan, this has been patched and has found its way into R12B-4:

OTP-7471  On Mac OS X, file:sync/1 now guarantees that all filesystem
	      buffers are written to the disk by using the fcntl() with
	      F_FULLFSYNC option. Previously, file:sync/1 called fsync(),
	      which only guaranteed that the data had been transferred to
	      the disk drive. (Thanks to Jan Lehnardt.)

Ben




More information about the rabbitmq-discuss mailing list