restart_syscall(2) System Calls Manual restart_syscall(2) NUME restart_syscall - repornete un apel de sistem dupa ce a fost intrerupt de un semnal de oprire SINOPSIS long restart_syscall(void); Nota: Nu exista nicio funcie invaluitoare (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 dupa ce un proces care a fost oprit de un semnal (de exemplu, SIGSTOP sau SIGTSTP) este reluat ulterior dupa primirea unui semnal SIGCONT. Acest apel de sistem este conceput numai pentru uz intern de catre nucleu. restart_syscall() este utilizat pentru a reporni numai acele apeluri de sistem care, atunci cand sunt repornite, ar trebui sa ii ajusteze parametrii legai de timp--i anume poll(2) (incepand cu Linux 2.6.24), nanosleep(2) (incepand cu Linux 2.6.24), nanosleep(2) (incepand cu Linux 2. 6), clock_nanosleep(2) (de la Linux 2.6) i futex(2), atunci cand sunt utilizate cu operaiile FUTEX_WAIT ( incepand cu Linux 2.6.22) i FUTEX_WAIT_BITSET (de la Linux 2.6.31). restart_syscall() repornete apelul de sistem intrerupt cu un argument de timp care este ajustat in mod corespunzator pentru a ine cont de timpul care s-a scurs deja (inclusiv timpul in care procesul a fost oprit de un semnal). Fara mecanismul restart_syscall(), repornirea acestor apeluri de sistem nu ar fi dedus corect timpul deja scurs atunci cand procesul a continuat execuia. VALOAREA RETURNATA Valoarea de returnare a restart_syscall() este valoarea de returnare a apelului de sistem care este repornit. ERORI-IEIRE errno este configurata conform erorilor pentru orice apel de sistem care este repornit de restart_syscall(). STANDARDE Linux. ISTORIC Linux 2.6. NOTE Nu exista nici o funcie invaluitoare (wrapper) glibc pentru acest apel de sistem, deoarece este destinat a fi utilizat numai de catre nucleu i nu ar trebui sa fie apelat niciodata de catre aplicaii. Nucleul utilizeaza restart_syscall() pentru a se asigura ca, atunci cand un apel de sistem este repornit dupa ce un proces a fost oprit de un semnal i apoi reluat de SIGCONT, timpul petrecut de proces in starea de oprire este luat in considerare in intervalul de timp specificat in apelul de sistem original. In cazul apelurilor de sistem care accepta un argument de temporizare i care repornesc automat dupa un semnal de oprire plus SIGCONT, dar care nu au incorporat mecanismul restart_syscall(), atunci, dupa ce procesul ii reia execuia, timpul pe care procesul l-a petrecut in starea de oprire nu este contabilizat in raport cu valoarea de temporizare. Exemple notabile de apeluri de sistem care sufera de aceasta problema sunt ppoll(2), select(2) i pselect(2). Din spaiul utilizatorului, operaiunea restart_syscall() este in mare parte invizibila: pentru procesul care a efectuat apelul de sistem care este repornit, apare ca i cum acel apel de sistem a fost executat i returnat in mod obinuit. CONSULTAI I sigaction(2), sigreturn(2), signal(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.9.1 2 mai 2024 restart_syscall(2)