Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       msync - sincronizează un fișier cu o hartă din memorie

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <sys/mman.h>

       int msync(void addr[.length], size_t length, int flags);

DESCRIERE

       msync()  trimite  înapoi în sistemul de fișiere modificările aduse copiei din nucleu a unui fișier care a
       fost cartografiat în memorie utilizând mmap(2).  Fără utilizarea acestui apel, nu există  nicio  garanție
       că  modificările  sunt  scrise  înapoi înainte de apelarea munmap(2).  Pentru a fi mai precis, partea din
       fișier care corespunde zonei de memorie care începe la addr și are lungimea length este actualizată.

       Argumentul flags trebuie să specifice exact unul dintre MS_ASYNC și MS_SYNC  și  poate  include  în  plus
       bitul MS_INVALIDATE.  Acești biți au următoarele semnificații:

       MS_ASYNC
              Precizează că o actualizare este planificată, dar apelul se întoarce imediat.

       MS_SYNC
              Solicită o actualizare și așteaptă ca aceasta să fie finalizată.

       MS_INVALIDATE
              Solicită  invalidarea  altor  hărți  ale  aceluiași  fișier  (astfel  încât  acestea  să  poată fi
              actualizate cu valorile noi care tocmai au fost scrise).

VALOAREA RETURNATĂ

       În caz de succes, se returnează zero. În caz de eroare, se returnează  -1,  iar  errno  este  configurată
       pentru a indica eroarea.

ERORI-IEȘIRE

       EBUSY  MS_INVALIDATE  a  fost  specificat  în  flags  și există o blocare a memoriei pentru intervalul de
              adrese specificat.

       EINVAL addr nu este un multiplu de PAGESIZE; sau orice alt bit decât MS_ASYNC | MS_INVALIDATE  |  MS_SYNC
              este definit în flags; sau atât MS_SYNC cât și MS_ASYNC sunt definite în flags.

       ENOMEM Memoria indicată (sau o parte a acesteia) nu a fost cartografiată.

VERSIUNI

       În  conformitate  cu POSIX, fie MS_SYNC, fie MS_ASYNC trebuie să fie specificat în flags și, într-adevăr,
       dacă nu se include unul dintre aceste fanioane, msync() va eșua pe  unele  sisteme.   Cu  toate  acestea,
       Linux permite un apel la msync() care nu specifică niciunul dintre acești indicatori, cu o semantică care
       este  (în  prezent)  echivalentă  cu specificarea MS_ASYNC.  (Începând cu Linux 2.6.19, MS_ASYNC este, de
       fapt, o non-opțiune, deoarece nucleul urmărește în mod corespunzător paginile modificate  și  le  elimină
       din  memorie  în  funcție  de necesități).  În pofida comportamentului Linux, aplicațiile portabile și cu
       perspective de viitor ar trebui să se asigure că specifică fie MS_SYNC, fie MS_ASYNC în flags.

STANDARDE

       POSIX.1-2008.

ISTORIC

       POSIX.1-2001.

       Acest apel a fost introdus în Linux 1.3.21, iar atunci se folosea EFAULT în  loc  de  ENOMEM.   În  Linux
       2.4.19, aceasta a fost schimbată cu valoarea POSIX ENOMEM.

       Pe   sistemele   POSIX   pe   care   este   disponibil   msync(),   atât   _POSIX_MAPPED_FILES,   cât  și
       _POSIX_SYNCHRONIZED_IO sunt definite în <unistd.h> la o valoare  mai  mare  decât  0.  (A  se  vedea,  de
       asemenea, sysconf(3).)

CONSULTAȚI ȘI

       mmap(2)

       B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128–129 și 389–391.

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                           msync(2)