The sync() (with flags set that way) and posix() calls are both async, I request the data to be written and then flush what has already been written (from previous calls).  Of course if we are writing a lot out in a stream it becomes essentially synchronous anyway.  But its potentially faster for a single call this way.