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

NOM

       pthread_cleanup_push_defer_np,  pthread_cleanup_pop_restore_np  — Empiler et dépiler les gestionnaires de
       nettoyage tout en préservant le mode d'annulation

BIBLIOTHÈQUE

       Bibliothèque de threads POSIX (libpthread, -lpthread)

SYNOPSIS

       #include <pthread.h>

       void pthread_cleanup_push_defer_np(void (*routine)(void *), void *arg);
       void pthread_cleanup_pop_restore_np(int execute);

   Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

       pthread_cleanup_push_defer_np(), pthread_cleanup_pop_defer_np() :
           _GNU_SOURCE

DESCRIPTION

       Ces fonctions  opèrent  de  la  même  façon  que  pthread_cleanup_push(3)  et  pthread_cleanup_pop(3),  à
       l'exception des différences décrites dans cette page.

       Comme   pthread_cleanup_push(3),   pthread_cleanup_push_defer_np()   empile   routine  sur  la  pile  des
       gestionnaires de nettoyage du thread. De plus, elle sauvegarde le mode actuel d'annulation, et le  change
       en  « deferred »  (retardé),  consultez  pthread_setcanceltype(3).  Cela  garantit  que  le  nettoyage  à
       l'annulation sera appelé même si  le  mode  d'annulation  était  à  « asynchronous »  (asynchrone)  avant
       l'appel.

       Comme pthread_cleanup_pop(3), pthread_cleanup_pop_restore_np() dépile le gestionnaire de nettoyage depuis
       la  pile  des  gestionnaires de nettoyage du thread. De plus, elle remet le mode d'annulation à la valeur
       qu'il avait lors de l'appel à pthread_cleanup_push_defer_np() correspondant.

       L'appelant doit vérifier que les appels à ces fonctions sont appariés à l'intérieur de la même  fonction,
       et  au  même  niveau  d'imbriquement  lexical.  D'autres  restrictions  s'appliquent, comme expliqué dans
       pthread_cleanup_push(3).

       Cette séquence d'appels :

           pthread_cleanup_push_defer_np(routine, arg);
           pthread_cleanup_pop_restore_np(execute);

       est équivalente à (mais en plus court et plus efficace) :

           int oldtype;

           pthread_cleanup_push(routine, arg);
           pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
           ...
           pthread_setcanceltype(oldtype, NULL);
           pthread_cleanup_pop(execute);

STANDARDS

       GNU ; d'où le suffixe « _np » (non portable) dans leur nom.

HISTORIQUE

       glibc 2.0

VOIR AUSSI

       pthread_cancel(3), pthread_cleanup_push(3), pthread_setcancelstate(3), pthread_testcancel(3), pthreads(7)

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,    Denis    Barbier    <barbier@debian.org>,    David     Prévot
       <david@tilapin.org>,    Frédéric    Hantrais   <fhantrais@gmail.com>   et   Jean-Pierre   Giraud   <jean-
       pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous  reporter  à  la  GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous  découvrez  un  bogue  dans la traduction de cette page de manuel, veuillez envoyer un message à
       debian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.9.1                     2 mai 2024                   pthread_cleanup_push_defer_np(3)