> Linux Reviews > man >

msync

msync


  1. msync.2.man


1. msync.2.man

Manpage of MSYNC

MSYNC

Section: Руководство программиста Linux (2)
Updated: 2008-04-22
Index Return to Main Contents
 

ИМЯ

msync - синхронизирует содержимое файла с его отображением в памяти  

ОБЗОР

#include <sys/mman.h>

int msync(void *addr, size_t length, int flags);  

ОПИСАНИЕ

msync() сбрасывает изменения файла, который отображён в память с помощью mmap(2), обратно на диск. Без использования этого вызова нет никакой гарантии, что изменения будут записаны в файл до вызова munmap(2). Если быть точнее, то на диск записывается часть файла, начинающаяся в памяти с адреса addr длиной length.

Аргумент flags может состоять из комбинации битов MS_ASYNC, MS_SYNC и MS_INVALIDATE, но не MS_ASYNC и MS_SYNC одновременно. Флаг 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.1-2001.

Этот вызов появился в Linux 1.3.21, и в нём использовалось EFAULT вместо ENOMEM. В Linux 2.4.19 это было изменено на значение POSIX ENOMEM.  

ДОСТУПНОСТЬ

В системах POSIX, в которых доступен msync(), значения _POSIX_MAPPED_FILES и _POSIX_SYNCHRONIZED_IO, определённые в <unistd.h>, больше нуля. (См. также sysconf(3).)  

СМОТРИТЕ ТАКЖЕ

mmap(2)
B.O. Gallmeister, POSIX.4, O'Reilly, стр. 128-129 и 389-391.


 

Index

ИМЯ
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
СООТВЕТСТВИЕ СТАНДАРТАМ
ДОСТУПНОСТЬ
СМОТРИТЕ ТАКЖЕ

This document was created by man2html using the manual pages.
Time: 17:41:50 GMT, May 11, 2012

SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja