Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

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

REZUMAT

       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

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

VERSIUNI

       Apelul de sistem restart_syscall() este prezent din Linux 2.6.

STANDARDE

       Acest apel de sistem este specific pentru Linux.

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  creată  de Remus-Gabriel Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.