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

NUME
pthread_tryjoin_np, pthread_timedjoin_np - încearcă să unească cu un fir ce s-a terminat de executat
BIBLIOTECA
Biblioteca de fire de execuție POSIX (libpthread, -lpthread)
SINOPSIS
#define _GNU_SOURCE /* Consultați feature_test_macros(7) */ #include <pthread.h> int pthread_tryjoin_np(pthread_t thread, void **retval); int pthread_timedjoin_np(pthread_t thread, void **retval, const struct timespec *abstime);
DESCRIERE
Aceste funcții operează în același mod ca și pthread_join(3), cu excepția diferențelor descrise în această pagină. Funcția pthread_tryjoin_np() efectuează o îmbinare fără blocare cu firul thread, returnând starea de ieșire a firului în *retval. În cazul în care thread nu s-a încheiat încă, atunci, în loc să se blocheze, așa cum face pthread_join(3), apelul returnează o eroare. Funcția pthread_timedjoin_np() efectuează o îmbinare cu temporizare (join-with-timeout). Dacă thread nu s-a încheiat încă, atunci apelul se blochează până la un timp maxim, specificat în abstime, măsurat în funcție de ceasul CLOCK_REALTIME. În cazul în care timpul de așteptare expiră înainte ca thread să se încheie, apelul returnează o eroare. Argumentul abstime este o structură timespec(3), specificând un timp absolut măsurat de la Epocă (a se vedea time(2)).
VALOAREA RETURNATĂ
În caz de succes, aceste funcții returnează 0; în caz de eroare, ele returnează un număr de eroare.
ERORI-IEȘIRE
Aceste funcții pot eșua cu aceleași erori ca și pthread_join(3). În plus, pthread_tryjoin_np() poate eșua cu următoarea eroare: EBUSY thread nu se încheiase încă în momentul apelului. pthread_timedjoin_np() poate, în plus, să eșueze cu următoarele erori: EINVAL valoarea abstime nu este valabilă (tv_sec este mai mică decât 0 sau tv_nsec este mai mare decât 1e9). ETIMEDOUT Apelul a expirat înainte ca thread să se încheie. pthread_timedjoin_np() nu returnează niciodată eroarea EINTR.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7). ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐ │ Interfață │ Atribut │ Valoare │ ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤ │ pthread_tryjoin_np(), pthread_timedjoin_np() │ Siguranța firelor │ MT-Safe │ └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
GNU; de aici și sufixul „_np” (neportabil) din denumiri.
ISTORIC
glibc 2.3.3.
ERORI
Funcția pthread_timedjoin_np() măsoară timpul prin calcularea internă a unui interval de somn relativ care este apoi măsurat în raport cu ceasul CLOCK_MONOTONIC în loc de ceasul CLOCK_REALTIME. În consecință, timpul de așteptare nu este afectat de modificările discontinue ale ceasului CLOCK_REALTIME.
EXEMPLE
Următorul cod așteaptă să se unească timp de până la 5 secunde: struct timespec ts; int s; ... if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { /* Gestionare eroare */ } ts.tv_sec += 5; s = pthread_timedjoin_np(thread, NULL, &ts); if (s != 0) { /* Gestionare eroare */ }
CONSULTAȚI ȘI
clock_gettime(2), pthread_exit(3), pthread_join(3), timespec(3), pthreads(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 pthread_tryjoin_np(3)