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

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țăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ 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)