msync(2) System Calls Manual msync(2) msync - C (libc, -lc) #include int msync(void addr[.length], size_t length, int flags); msync() , mmap(2), . , munmap(2). , , addr length. flags MS_ASYNC MS_SYNC, MS_INVALIDATE. : MS_ASYNC , . MS_SYNC . MS_INVALIDATE ( , , ). 0. -1, errno . EBUSY flags MS_INVALIDATE, . EINVAL addr PAGESIZE; flags , MS_ASYNC | MS_INVALIDATE | MS_SYNC; flags MS_SYNC MS_ASYNC. ENOMEM ( ) . POSIX, flags MS_SYNC, MS_ASYNC msync() . Linux msync() , , ( ) MS_ASYNC ( Linux 2.6.19, MS_ASYNC, , , ). Linux, , flags MS_SYNC, MS_ASYNC. POSIX.1-2008. POSIX.1-2001. Linux 1.3.21, EFAULT ENOMEM. Linux 2.4.19 POSIX ENOMEM. POSIX, msync(), _POSIX_MAPPED_FILES _POSIX_SYNCHRONIZED_IO, , . (. sysconf(3).) mmap(2) B.O. Gallmeister, POSIX.4, O'Reilly, . 128-129 389-391. () aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , , Kirill Rekhov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () <>. Linux 6.9.1 2 2024 . msync(2)