Skip to content
  • Pekka Paalanen's avatar
    os: use posix_fallocate in creating sharable buffers · 5b4ddbc1
    Pekka Paalanen authored
    
    
    If posix_fallocate is available, use it instead of ftruncate. Unlike
    ftruncate, when posix_fallocate succeeds, it guarantees that you cannot
    run out of disk space, when later writing to the mmap()'ed file.
    
    With posix_fallocate, if os_create_anonymous_file() succeeds, the
    program cannot get a SIGBUS later from accessing this file via mmap. If
    there is insufficient disk space, the function fails and errno is set to
    ENOSPC.
    
    This is useful on systems, that limit the available buffer space by
    having XDG_RUNTIME_DIR on a small tmpfs.
    
    Signed-off-by: default avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
    5b4ddbc1