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

NUME

       restart_syscall - repornește un apel de sistem după ce a fost întrerupt de un semnal de oprire

SINOPSIS

       long restart_syscall(void);

       Notă: Nu există nicio funcție învăluitoare (wrapper) glibc pentru acest apel de sistem; a se vedea NOTE.

DESCRIERE

       Apelul  de  sistem  restart_syscall() este utilizat pentru a reporni anumite apeluri de sistem după ce un
       proces care a fost oprit de un semnal (de  exemplu,  SIGSTOP  sau  SIGTSTP)  este  reluat  ulterior  după
       primirea unui semnal SIGCONT.  Acest apel de sistem este conceput numai pentru uz intern de către nucleu.

       restart_syscall()  este  utilizat  pentru  a reporni numai acele apeluri de sistem care, atunci când sunt
       repornite, ar trebui să își ajusteze parametrii legați  de  timp—și  anume  poll(2)  (începând  cu  Linux
       2.6.24),   nanosleep(2)   (începând   cu   Linux   2.6.24),   nanosleep(2)  (începând  cu  Linux  2.  6),
       clock_nanosleep(2) (de la Linux 2.6) și futex(2), atunci când sunt utilizate cu operațiile  FUTEX_WAIT  (
       începând cu Linux 2.6.22) și FUTEX_WAIT_BITSET (de la Linux 2.6.31).  restart_syscall() repornește apelul
       de  sistem  întrerupt cu un argument de timp care este ajustat în mod corespunzător pentru a ține cont de
       timpul care s-a scurs deja (inclusiv timpul în care procesul a fost oprit de un semnal).  Fără mecanismul
       restart_syscall(), repornirea acestor apeluri de sistem nu ar fi dedus corect timpul  deja  scurs  atunci
       când procesul a continuat execuția.

VALOAREA RETURNATĂ

       Valoarea  de  returnare  a  restart_syscall()  este  valoarea de returnare a apelului de sistem care este
       repornit.

ERORI-IEȘIRE

       errno  este  configurată  conform  erorilor  pentru  orice  apel  de  sistem  care   este   repornit   de
       restart_syscall().

STANDARDE

       Linux.

ISTORIC

       Linux 2.6.

NOTE

       Nu există nici o funcție învăluitoare (wrapper) glibc pentru acest apel de sistem, deoarece este destinat
       a fi utilizat numai de către nucleu și nu ar trebui să fie apelat niciodată de către aplicații.

       Nucleul  utilizează restart_syscall() pentru a se asigura că, atunci când un apel de sistem este repornit
       după ce un proces a fost oprit de un semnal și apoi reluat de  SIGCONT,  timpul  petrecut  de  proces  în
       starea  de oprire este luat în considerare în intervalul de timp specificat în apelul de sistem original.
       În cazul apelurilor de sistem care acceptă un argument de temporizare și care repornesc automat  după  un
       semnal  de  oprire  plus SIGCONT, dar care nu au încorporat mecanismul restart_syscall(), atunci, după ce
       procesul își reia execuția, timpul pe care procesul l-a petrecut în starea de oprire nu este contabilizat
       în raport cu valoarea de temporizare.  Exemple notabile de apeluri  de  sistem  care  suferă  de  această
       problemă sunt ppoll(2), select(2) și pselect(2).

       Din  spațiul utilizatorului, operațiunea restart_syscall() este în mare parte invizibilă: pentru procesul
       care a efectuat apelul de sistem care este repornit, apare ca și cum acel apel de sistem a fost  executat
       și returnat în mod obișnuit.

CONSULTAȚI ȘI

       sigaction(2), sigreturn(2), signal(7)

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                                 restart_syscall(2)