Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig standard library. Public Function

fsync

Public Function
std.os.linux.IoUring.fsync
pub fn fsync(self: *IoUring, user_data: u64, fd: linux.fd_t, flags: u32) !*linux.io_uring_sqe

Queues (but does not submit) an SQE to perform an fsync(2). Returns a pointer to the SQE so that you can further modify the SQE for advanced use cases. For example, for fdatasync() you can set IORING_FSYNC_DATASYNC in the SQE's rw_flags. N.B. While SQEs are initiated in the order in which they appear in the submission queue, operations execute in parallel and completions are unordered. Therefore, an application that submits a write followed by an fsync in the submission queue cannot expect the fsync to apply to the write, since the fsync may complete before the write is issued to the disk. You should preferably use link_with_next_sqe() on a write's SQE to link it with an fsync, or else insert a full write barrier using drain_previous_sqes() when queueing an fsync.

Params

File

os/linux/IoUring.zig:351
351
352
353
354
355
356
pub fn fsync(self: *IoUring, user_data: u64, fd: linux.fd_t, flags: u32) !*linux.io_uring_sqe {
    const sqe = try self.get_sqe();
    sqe.prep_fsync(fd, flags);
    sqe.user_data = user_data;
    return sqe;
}