# French translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Christophe Blaess , 1996-2003. # Stéphan Rafin , 2002. # Thierry Vignaud , 1999, 2002. # François Micaux, 2002. # Alain Portal , 2003-2008. # Jean-Philippe Guérard , 2005-2006. # Jean-Luc Coulon (f5ibh) , 2006-2007. # Julien Cristau , 2006-2007. # Thomas Huriaux , 2006-2008. # Nicolas François , 2006-2008. # Florentin Duneau , 2006-2010. # Simon Paillard , 2006. # Denis Barbier , 2006, 2010. # David Prévot , 2010, 2012. # Frédéric Hantrais , 2013, 2014. # Jean-Pierre Giraud , 2024. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.22.0\n" "POT-Creation-Date: 2024-06-01 06:13+0200\n" "PO-Revision-Date: 2024-04-22 10:18+0200\n" "Last-Translator: Jean-Pierre Giraud \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Lokalize 22.12.3\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "pthread_getattr_np" msgstr "pthread_getattr_np" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 mai 2024" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "Pages du manuel de Linux 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NOM" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "pthread_getattr_np - get attributes of created thread" msgstr "pthread_getattr_np - Obtenir les attributs d'un thread créé" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTHÈQUE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX threads library (I, I<-lpthread>)" msgstr "Bibliothèque de threads POSIX (I, I<-lpthread>)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "SYNOPSIS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Epthread.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* Consultez feature_test_macros(7) */\n" "B<#include Epthread.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, pthread_attr_t *>IB<);>\n" msgstr "BIB<, pthread_attr_t *>IB<);>\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "DESCRIPTION" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function initializes the thread attributes " "object referred to by I so that it contains actual attribute values " "describing the running thread I." msgstr "" "La fonction B() initialise l'objet d'attributs de thread " "auquel I fait référence de telle sorte qu'il contienne les valeurs " "réelles d'attributs qui décrivent le thread I en cours d'exécution." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The returned attribute values may differ from the corresponding attribute " "values passed in the I object that was used to create the thread using " "B(3). In particular, the following attributes may differ:" msgstr "" "Les valeurs d'attribut renvoyées peuvent être différentes des valeurs " "d'attribut correspondantes fournies dans l'objet I utilisé pour créer " "le thread avec B(3). En particulier, les attributs suivants " "peuvent changer :" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\[bu]" msgstr "-" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "the detach state, since a joinable thread may have detached itself after " "creation;" msgstr "" "l'état détaché ou non, puisqu'un thread fusionné peut s'être détaché lui-" "même après sa création ;" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "the stack size, which the implementation may align to a suitable boundary." msgstr "" "la taille de la pile, que l'implémentation peut aligner sur une limite plus " "appropriée." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "and the guard size, which the implementation may round upward to a multiple " "of the page size, or ignore (i.e., treat as 0), if the application is " "allocating its own stack." msgstr "" "la taille de garde, que l'implémentation peut arrondir au multiple supérieur " "de la taille de page ou ignorer (c'est-à-dire, considérer qu'elle vaut 0) si " "l'application alloue sa propre pile." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Furthermore, if the stack address attribute was not set in the thread " "attributes object used to create the thread, then the returned thread " "attributes object will report the actual stack address that the " "implementation selected for the thread." msgstr "" "De plus, si l'attribut contenant l'adresse de la pile n'était pas défini " "dans l'objet d'attributs de thread utilisé pour créer le thread, alors " "l'objet d'attributs de thread renvoyé contiendra l'adresse effective de la " "pile que l'implémentation a choisie pour le thread." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When the thread attributes object returned by B() is no " "longer required, it should be destroyed using B(3)." msgstr "" "Quand l'objet d'attributs de thread renvoyé par B() " "n'est plus nécessaire, il devrait être détruit à l'aide de " "B(3)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "VALEUR RENVOYÉE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, this function returns 0; on error, it returns a nonzero error " "number." msgstr "" "En cas de réussite, cette fonction renvoie 0 ; en cas d'erreur, elle renvoie " "un numéro d'erreur non nul." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ERREURS" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. Can happen (but unlikely) while trying to allocate memory for cpuset #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Insufficient memory." msgstr "Mémoire insuffisante." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In addition, if I refers to the main thread, then " "B() can fail because of errors from various underlying " "calls: B(3), if I can't be opened; and " "B(2), if the B resource limit is not supported." msgstr "" "De plus, si I se réfère au thread principal, alors " "B() peut échouer à cause d'erreurs de différents appels " "sous-jacents : B(3) si I ne peut être ouvert, et " "B(2) si la limite de ressources B n'est pas prise " "en charge." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "ATTRIBUTS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "" "Pour une explication des termes utilisés dans cette section, consulter " "B(7)." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Interface" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Attribut" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Valeur" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Sécurité des threads" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Safe" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARDS" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "GNU; hence the suffix \"_np\" (nonportable) in the name." msgstr "GNU ; c'est la raison du suffixe « _np » (non portable) dans son nom." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "HISTORIQUE" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "glibc 2.2.3." msgstr "glibc 2.2.3." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "EXEMPLES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The program below demonstrates the use of B(). The " "program creates a thread that then uses B() to retrieve " "and display its guard size, stack address, and stack size attributes. " "Command-line arguments can be used to set these attributes to values other " "than the default when creating the thread. The shell sessions below " "demonstrate the use of the program." msgstr "" "Le programme ci-dessous démontre l'utilisation de B(). " "Le programme crée un thread qui utilise ensuite B() pour " "récupérer et afficher les attributs contenant la taille de la garde, " "l'adresse de la pile et la taille de la pile. Des paramètres en ligne de " "commande peuvent être utilisés pour définir les attributs qui seront " "utilisés pour créer le thread à des valeurs autres que les valeurs par " "défaut. Les sessions d'interpréteur de commande ci-dessous démontrent " "l'utilisation du programme." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the first run, on an x86-32 system, a thread is created using default " "attributes:" msgstr "" "Lors de la première exécution, sur un système x86-32, un thread est créé en " "utilisant les attributs par défaut :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$B< ulimit -s> # No stack limit ==E default stack size is 2 MB\n" "unlimited\n" "$B< ./a.out>\n" "Attributes of created thread:\n" " Guard size = 4096 bytes\n" " Stack address = 0x40196000 (EOS = 0x40397000)\n" " Stack size = 0x201000 (2101248) bytes\n" msgstr "" "$B< ulimit -s> # Pas de limite de pile ==E taille de pile par défaut : 2 Mo\n" "unlimited\n" "$B< ./a.out>\n" "Attributs du thread créé :\n" " Guard size = 4096 bytes\n" " Stack address = 0x40196000 (EOS = 0x40397000)\n" " Stack size = 0x201000 (2101248) bytes\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the following run, we see that if a guard size is specified, it is " "rounded up to the next multiple of the system page size (4096 bytes on " "x86-32):" msgstr "" "Lors de l'exécution suivante, nous voyons que si la taille de la garde est " "fournie, elle est arrondie à la valeur supérieure du prochain multiple de la " "taille de page système (4096 octets sous x86-32) :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "$B< ./a.out -g 4097>\n" "Thread attributes object after initializations:\n" " Guard size = 4097 bytes\n" " Stack address = (nil)\n" " Stack size = 0x0 (0) bytes\n" "\\&\n" "Attributes of created thread:\n" " Guard size = 8192 bytes\n" " Stack address = 0x40196000 (EOS = 0x40397000)\n" " Stack size = 0x201000 (2101248) bytes\n" msgstr "" "$B< ./a.out -g 4097>\n" "Objet d'attributs de thread après initialisations :\n" " Guard size = 4097 bytes\n" " Stack address = (nil)\n" " Stack size = 0x0 (0) bytes\n" "\\&\n" "Attributs du thread créé :\n" " Guard size = 8192 bytes\n" " Stack address = 0x40196000 (EOS = 0x40397000)\n" " Stack size = 0x201000 (2101248) bytes\n" # #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the last run, the program manually allocates a stack for the thread. In " "this case, the guard size attribute is ignored." msgstr "" "Lors de la dernière exécution, le programme alloue manuellement une pile " "pour le thread. Dans ce cas, l'attribut contenant la taille de la garde est " "ignoré." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "$B< ./a.out -g 4096 -s 0x8000 -a>\n" "Allocated thread stack at 0x804d000\n" "\\&\n" "Thread attributes object after initializations:\n" " Guard size = 4096 bytes\n" " Stack address = 0x804d000 (EOS = 0x8055000)\n" " Stack size = 0x8000 (32768) bytes\n" "\\&\n" "Attributes of created thread:\n" " Guard size = 0 bytes\n" " Stack address = 0x804d000 (EOS = 0x8055000)\n" " Stack size = 0x8000 (32768) bytes\n" msgstr "" "$B< ./a.out -g 4096 -s 0x8000 -a>\n" "Allocated thread stack at 0x804d000\n" "\\&\n" "Objet d'attributs de thread après initialisations :\n" " Guard size = 4096 bytes\n" " Stack address = 0x804d000 (EOS = 0x8055000)\n" " Stack size = 0x8000 (32768) bytes\n" "\\&\n" "Attributs du thread créé :\n" " Guard size = 0 bytes\n" " Stack address = 0x804d000 (EOS = 0x8055000)\n" " Stack size = 0x8000 (32768) bytes\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Source du programme" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#define _GNU_SOURCE /* To get pthread_getattr_np() declaration */\n" "#include Eerr.hE\n" "#include Eerrno.hE\n" "#include Epthread.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "\\&\n" "static void\n" "display_stack_related_attributes(pthread_attr_t *attr, char *prefix)\n" "{\n" " int s;\n" " size_t stack_size, guard_size;\n" " void *stack_addr;\n" "\\&\n" " s = pthread_attr_getguardsize(attr, &guard_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getguardsize\");\n" " printf(\"%sGuard size = %zu bytes\\en\", prefix, guard_size);\n" "\\&\n" " s = pthread_attr_getstack(attr, &stack_addr, &stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getstack\");\n" " printf(\"%sStack address = %p\", prefix, stack_addr);\n" " if (stack_size E 0)\n" " printf(\" (EOS = %p)\", (char *) stack_addr + stack_size);\n" " printf(\"\\en\");\n" " printf(\"%sStack size = %#zx (%zu) bytes\\en\",\n" " prefix, stack_size, stack_size);\n" "}\n" "\\&\n" "static void\n" "display_thread_attributes(pthread_t thread, char *prefix)\n" "{\n" " int s;\n" " pthread_attr_t attr;\n" "\\&\n" " s = pthread_getattr_np(thread, &attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_getattr_np\");\n" "\\&\n" " display_stack_related_attributes(&attr, prefix);\n" "\\&\n" " s = pthread_attr_destroy(&attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" "}\n" "\\&\n" "static void * /* Start function for thread we create */\n" "thread_start(void *arg)\n" "{\n" " printf(\"Attributes of created thread:\\en\");\n" " display_thread_attributes(pthread_self(), \"\\et\");\n" "\\&\n" " exit(EXIT_SUCCESS); /* Terminate all threads */\n" "}\n" "\\&\n" "static void\n" "usage(char *pname, char *msg)\n" "{\n" " if (msg != NULL)\n" " fputs(msg, stderr);\n" " fprintf(stderr, \"Usage: %s [-s stack-size [-a]]\"\n" " \" [-g guard-size]\\en\", pname);\n" " fprintf(stderr, \"\\et\\et-a means program should allocate stack\\en\");\n" " exit(EXIT_FAILURE);\n" "}\n" "\\&\n" "static pthread_attr_t * /* Get thread attributes from command line */\n" "get_thread_attributes_from_cl(int argc, char *argv[],\n" " pthread_attr_t *attrp)\n" "{\n" " int s, opt, allocate_stack;\n" " size_t stack_size, guard_size;\n" " void *stack_addr;\n" " pthread_attr_t *ret_attrp = NULL; /* Set to attrp if we initialize\n" " a thread attributes object */\n" " allocate_stack = 0;\n" " stack_size = -1;\n" " guard_size = -1;\n" "\\&\n" " while ((opt = getopt(argc, argv, \"ag:s:\")) != -1) {\n" " switch (opt) {\n" " case \\[aq]a\\[aq]: allocate_stack = 1; break;\n" " case \\[aq]g\\[aq]: guard_size = strtoul(optarg, NULL, 0); break;\n" " case \\[aq]s\\[aq]: stack_size = strtoul(optarg, NULL, 0); break;\n" " default: usage(argv[0], NULL);\n" " }\n" " }\n" "\\&\n" " if (allocate_stack && stack_size == -1)\n" " usage(argv[0], \"Specifying -a without -s makes no sense\\en\");\n" "\\&\n" " if (argc E optind)\n" " usage(argv[0], \"Extraneous command-line arguments\\en\");\n" "\\&\n" " if (stack_size != -1 || guard_size E 0) {\n" " ret_attrp = attrp;\n" "\\&\n" " s = pthread_attr_init(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_init\");\n" " }\n" "\\&\n" " if (stack_size != -1) {\n" " if (!allocate_stack) {\n" " s = pthread_attr_setstacksize(attrp, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " } else {\n" " s = posix_memalign(&stack_addr, sysconf(_SC_PAGESIZE),\n" " stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"posix_memalign\");\n" " printf(\"Allocated thread stack at %p\\en\\en\", stack_addr);\n" "\\&\n" " s = pthread_attr_setstack(attrp, stack_addr, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " }\n" " }\n" "\\&\n" " if (guard_size != -1) {\n" " s = pthread_attr_setguardsize(attrp, guard_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " }\n" "\\&\n" " return ret_attrp;\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int s;\n" " pthread_t thr;\n" " pthread_attr_t attr;\n" " pthread_attr_t *attrp = NULL; /* Set to &attr if we initialize\n" " a thread attributes object */\n" "\\&\n" " attrp = get_thread_attributes_from_cl(argc, argv, &attr);\n" "\\&\n" " if (attrp != NULL) {\n" " printf(\"Thread attributes object after initializations:\\en\");\n" " display_stack_related_attributes(attrp, \"\\et\");\n" " printf(\"\\en\");\n" " }\n" "\\&\n" " s = pthread_create(&thr, attrp, &thread_start, NULL);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_create\");\n" "\\&\n" " if (attrp != NULL) {\n" " s = pthread_attr_destroy(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" " }\n" "\\&\n" " pause(); /* Terminates when other thread calls exit() */\n" "}\n" msgstr "" "#define _GNU_SOURCE /* Pour la déclaration de pthread_getattr_np() */\n" "#include Eerr.hE\n" "#include Eerrno.hE\n" "#include Epthread.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "\\&\n" "static void\n" "display_stack_related_attributes(pthread_attr_t *attr, char *prefix)\n" "{\n" " int s;\n" " size_t stack_size, guard_size;\n" " void *stack_addr;\n" "\\&\n" " s = pthread_attr_getguardsize(attr, &guard_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getguardsize\");\n" " printf(\"%sGuard size = %zu bytes\\en\", prefix, guard_size);\n" "\\&\n" " s = pthread_attr_getstack(attr, &stack_addr, &stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getstack\");\n" " printf(\"%sStack address = %p\", prefix, stack_addr);\n" " if (stack_size E 0)\n" " printf(\" (EOS = %p)\", (char *) stack_addr + stack_size);\n" " printf(\"\\en\");\n" " printf(\"%sStack size = %#zx (%zu) bytes\\en\",\n" " prefix, stack_size, stack_size);\n" "}\n" "\\&\n" "static void\n" "display_thread_attributes(pthread_t thread, char *prefix)\n" "{\n" " int s;\n" " pthread_attr_t attr;\n" "\\&\n" " s = pthread_getattr_np(thread, &attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_getattr_np\");\n" "\\&\n" " display_stack_related_attributes(&attr, prefix);\n" "\\&\n" " s = pthread_attr_destroy(&attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" "}\n" "\\&\n" "static void * /* Démarrage de la fonction pour le thread créé */\n" "thread_start(void *arg)\n" "{\n" " printf(\"Attributs du thread créé :\\en\");\n" " display_thread_attributes(pthread_self(), \"\\et\");\n" "\\&\n" " exit(EXIT_SUCCESS); /* Termine tous les threads */\n" "}\n" "\\&\n" "static void\n" "usage(char *pname, char *msg)\n" "{\n" " if (msg != NULL)\n" " fputs(msg, stderr);\n" " fprintf(stderr, \"Utilisation : %s [-s stack-size [-a]]\"\n" " \" [-g guard-size]\\en\", pname);\n" " fprintf(stderr, \"\\et\\et-a means program should allocate stack\\en\");\n" " exit(EXIT_FAILURE);\n" "}\n" "\\&\n" "static pthread_attr_t * /* Obtenir les attributs de thread en ligne de commande */\n" "get_thread_attributes_from_cl(int argc, char *argv[],\n" " pthread_attr_t *attrp)\n" "{\n" " int s, opt, allocate_stack;\n" " size_t stack_size, guard_size;\n" " void *stack_addr;\n" " pthread_attr_t *ret_attrp = NULL; /* Définir à attrp si un objet\n" " d'attributs de thread est initialisé */\n" " allocate_stack = 0;\n" " stack_size = -1;\n" " guard_size = -1;\n" "\\&\n" " while ((opt = getopt(argc, argv, \"ag:s:\")) != -1) {\n" " switch (opt) {\n" " case \\[aq]a\\[aq]: allocate_stack = 1; break;\n" " case \\[aq]g\\[aq]: guard_size = strtoul(optarg, NULL, 0); break;\n" " case \\[aq]s\\[aq]: stack_size = strtoul(optarg, NULL, 0); break;\n" " default: usage(argv[0], NULL);\n" " }\n" " }\n" "\\&\n" " if (allocate_stack && stack_size == -1)\n" " usage(argv[0], \"Specifying -a without -s makes no sense\\en\");\n" "\\&\n" " if (argc E optind)\n" " usage(argv[0], \"Extraneous command-line arguments\\en\");\n" "\\&\n" " if (stack_size != -1 || guard_size E 0) {\n" " ret_attrp = attrp;\n" "\\&\n" " s = pthread_attr_init(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_init\");\n" " }\n" "\\&\n" " if (stack_size != -1) {\n" " if (!allocate_stack) {\n" " s = pthread_attr_setstacksize(attrp, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " } else {\n" " s = posix_memalign(&stack_addr, sysconf(_SC_PAGESIZE),\n" " stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"posix_memalign\");\n" " printf(\"Allocated thread stack at %p\\en\\en\", stack_addr);\n" "\\&\n" " s = pthread_attr_setstack(attrp, stack_addr, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " }\n" " }\n" "\\&\n" " if (guard_size !1= -1) {\n" " s = pthread_attr_setguardsize(attrp, guard_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " }\n" "\\&\n" " return ret_attrp;\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int s;\n" " pthread_t thr;\n" " pthread_attr_t attr;\n" " pthread_attr_t *attrp = NULL; /* Définir à &attr si un objet \n" " d'attributs de thread est initialisé */\n" "\\&\n" " attrp = get_thread_attributes_from_cl(argc, argv, &attr);\n" "\\&\n" " if (attrp != NULL) {\n" " printf(\"Objet d'attributs de thread après initialisations :\\en\");\n" " display_stack_related_attributes(attrp, \"\\et\");\n" " printf(\"\\en\");\n" " }\n" "\\&\n" " s = pthread_create(&thr, attrp, &thread_start, NULL);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_create\");\n" "\\&\n" " if (attrp != NULL) {\n" " s = pthread_attr_destroy(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" " }\n" "\\&\n" " pause(); /* Termine quand un autre thread appelle exit() */\n" "}\n" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "VOIR AUSSI" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), B(7)" msgstr "" "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), " "B(3), B(3), B(7)" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5 février 2023" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Pages du manuel de Linux 6.03" #. type: SH #: debian-bookworm #, no-wrap msgid "VERSIONS" msgstr "VERSIONS" #. type: Plain text #: debian-bookworm msgid "This function is available since glibc 2.2.3." msgstr "Cette fonction est disponible depuis la glibc 2.2.3." #. type: Plain text #: debian-bookworm msgid "" "This function is a nonstandard GNU extension; hence the suffix " "\"_np\" (nonportable) in the name." msgstr "" "Cette fonction est une extension GNU non standard ; c'est la raison du " "suffixe « _np » (non portable) dans son nom." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "$B< ./a.out -g 4097>\n" "Thread attributes object after initializations:\n" " Guard size = 4097 bytes\n" " Stack address = (nil)\n" " Stack size = 0x0 (0) bytes\n" msgstr "" "$B< ./a.out -g 4097>\n" "Objet d'attributs de thread après initialisations :\n" " Guard size = 4097 bytes\n" " Stack address = (nil)\n" " Stack size = 0x0 (0) bytes\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "Attributes of created thread:\n" " Guard size = 8192 bytes\n" " Stack address = 0x40196000 (EOS = 0x40397000)\n" " Stack size = 0x201000 (2101248) bytes\n" msgstr "" "Attributs du thread créé :\n" " Guard size = 8192 bytes\n" " Stack address = 0x40196000 (EOS = 0x40397000)\n" " Stack size = 0x201000 (2101248) bytes\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "$B< ./a.out -g 4096 -s 0x8000 -a>\n" "Allocated thread stack at 0x804d000\n" msgstr "" "$B< ./a.out -g 4096 -s 0x8000 -a>\n" "Allocated thread stack at 0x804d000\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "Thread attributes object after initializations:\n" " Guard size = 4096 bytes\n" " Stack address = 0x804d000 (EOS = 0x8055000)\n" " Stack size = 0x8000 (32768) bytes\n" msgstr "" "Objet d'attributs de thread après initialisations :\n" " Guard size = 4096 bytes\n" " Stack address = 0x804d000 (EOS = 0x8055000)\n" " Stack size = 0x8000 (32768) bytes\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "Attributes of created thread:\n" " Guard size = 0 bytes\n" " Stack address = 0x804d000 (EOS = 0x8055000)\n" " Stack size = 0x8000 (32768) bytes\n" msgstr "" "Attributs du thread créé :\n" " Guard size = 0 bytes\n" " Stack address = 0x804d000 (EOS = 0x8055000)\n" " Stack size = 0x8000 (32768) bytes\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define _GNU_SOURCE /* To get pthread_getattr_np() declaration */\n" "#include Eerr.hE\n" "#include Eerrno.hE\n" "#include Epthread.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" msgstr "" "#define _GNU_SOURCE /* Pour la déclaration de pthread_getattr_np() */\n" "#include Eerr.hE\n" "#include Eerrno.hE\n" "#include Epthread.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "display_stack_related_attributes(pthread_attr_t *attr, char *prefix)\n" "{\n" " int s;\n" " size_t stack_size, guard_size;\n" " void *stack_addr;\n" msgstr "" "static void\n" "display_stack_related_attributes(pthread_attr_t *attr, char *prefix)\n" "{\n" " int s;\n" " size_t stack_size, guard_size;\n" " void *stack_addr;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = pthread_attr_getguardsize(attr, &guard_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getguardsize\");\n" " printf(\"%sGuard size = %zu bytes\\en\", prefix, guard_size);\n" msgstr "" " s = pthread_attr_getguardsize(attr, &guard_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getguardsize\");\n" " printf(\"%sGuard size = %zu bytes\\en\", prefix, guard_size);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = pthread_attr_getstack(attr, &stack_addr, &stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getstack\");\n" " printf(\"%sStack address = %p\", prefix, stack_addr);\n" " if (stack_size E 0)\n" " printf(\" (EOS = %p)\", (char *) stack_addr + stack_size);\n" " printf(\"\\en\");\n" " printf(\"%sStack size = %#zx (%zu) bytes\\en\",\n" " prefix, stack_size, stack_size);\n" "}\n" msgstr "" " s = pthread_attr_getstack(attr, &stack_addr, &stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_getstack\");\n" " printf(\"%sStack address = %p\", prefix, stack_addr);\n" " if (stack_size E 0)\n" " printf(\" (EOS = %p)\", (char *) stack_addr + stack_size);\n" " printf(\"\\en\");\n" " printf(\"%sStack size = %#zx (%zu) bytes\\en\",\n" " prefix, stack_size, stack_size);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "display_thread_attributes(pthread_t thread, char *prefix)\n" "{\n" " int s;\n" " pthread_attr_t attr;\n" msgstr "" "static void\n" "display_thread_attributes(pthread_t thread, char *prefix)\n" "{\n" " int s;\n" " pthread_attr_t attr;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = pthread_getattr_np(thread, &attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_getattr_np\");\n" msgstr "" " s = pthread_getattr_np(thread, &attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_getattr_np\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " display_stack_related_attributes(&attr, prefix);\n" msgstr " display_stack_related_attributes(&attr, prefix);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = pthread_attr_destroy(&attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" "}\n" msgstr "" " s = pthread_attr_destroy(&attr);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void * /* Start function for thread we create */\n" "thread_start(void *arg)\n" "{\n" " printf(\"Attributes of created thread:\\en\");\n" " display_thread_attributes(pthread_self(), \"\\et\");\n" msgstr "" "static void * /* Démarrage de la fonction pour le thread créé */\n" "thread_start(void *arg)\n" "{\n" " printf(\"Attributs du thread créé :\\en\");\n" " display_thread_attributes(pthread_self(), \"\\et\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS); /* Terminate all threads */\n" "}\n" msgstr "" " exit(EXIT_SUCCESS); /* Termine tous les threads */\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "usage(char *pname, char *msg)\n" "{\n" " if (msg != NULL)\n" " fputs(msg, stderr);\n" " fprintf(stderr, \"Usage: %s [-s stack-size [-a]]\"\n" " \" [-g guard-size]\\en\", pname);\n" " fprintf(stderr, \"\\et\\et-a means program should allocate stack\\en\");\n" " exit(EXIT_FAILURE);\n" "}\n" msgstr "" "static void\n" "usage(char *pname, char *msg)\n" "{\n" " if (msg != NULL)\n" " fputs(msg, stderr);\n" " fprintf(stderr, \"Utilisation : %s [-s stack-size [-a]]\"\n" " \" [-g guard-size]\\en\", pname);\n" " fprintf(stderr, \"\\et\\et-a means program should allocate stack\\en\");\n" " exit(EXIT_FAILURE);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static pthread_attr_t * /* Get thread attributes from command line */\n" "get_thread_attributes_from_cl(int argc, char *argv[],\n" " pthread_attr_t *attrp)\n" "{\n" " int s, opt, allocate_stack;\n" " size_t stack_size, guard_size;\n" " void *stack_addr;\n" " pthread_attr_t *ret_attrp = NULL; /* Set to attrp if we initialize\n" " a thread attributes object */\n" " allocate_stack = 0;\n" " stack_size = -1;\n" " guard_size = -1;\n" msgstr "" "static pthread_attr_t * /* Obtenir les attributs de thread en ligne de commande */\n" "get_thread_attributes_from_cl(int argc, char *argv[],\n" " pthread_attr_t *attrp)\n" "{\n" " int s, opt, allocate_stack;\n" " size_t stack_size, guard_size;\n" " void *stack_addr;\n" " pthread_attr_t *ret_attrp = NULL; /* définir à attrp si un objet d'attributs\n" " de thread est initialisé */\n" " allocate_stack = 0;\n" " stack_size = -1;\n" " guard_size = -1;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " while ((opt = getopt(argc, argv, \"ag:s:\")) != -1) {\n" " switch (opt) {\n" " case \\[aq]a\\[aq]: allocate_stack = 1; break;\n" " case \\[aq]g\\[aq]: guard_size = strtoul(optarg, NULL, 0); break;\n" " case \\[aq]s\\[aq]: stack_size = strtoul(optarg, NULL, 0); break;\n" " default: usage(argv[0], NULL);\n" " }\n" " }\n" msgstr "" " while ((opt = getopt(argc, argv, \"ag:s:\")) != -1) {\n" " switch (opt) {\n" " case \\[aq]a\\[aq]: allocate_stack = 1; break;\n" " case \\[aq]g\\[aq]: guard_size = strtoul(optarg, NULL, 0); break;\n" " case \\[aq]s\\[aq]: stack_size = strtoul(optarg, NULL, 0); break;\n" " default: usage(argv[0], NULL);\n" " }\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (allocate_stack && stack_size == -1)\n" " usage(argv[0], \"Specifying -a without -s makes no sense\\en\");\n" msgstr "" " if (allocate_stack && stack_size == -1)\n" " usage(argv[0], \"Specifying -a without -s makes no sense\\en\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc E optind)\n" " usage(argv[0], \"Extraneous command-line arguments\\en\");\n" msgstr "" " if (argc E optind)\n" " usage(argv[0], \"Extraneous command-line arguments\\en\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (stack_size E= 0 || guard_size E 0) {\n" " ret_attrp = attrp;\n" msgstr "" " if (stack_size E= 0 || guard_size E 0) {\n" " ret_attrp = attrp;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = pthread_attr_init(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_init\");\n" " }\n" msgstr "" " s = pthread_attr_init(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_init\");\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (stack_size E= 0) {\n" " if (!allocate_stack) {\n" " s = pthread_attr_setstacksize(attrp, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " } else {\n" " s = posix_memalign(&stack_addr, sysconf(_SC_PAGESIZE),\n" " stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"posix_memalign\");\n" " printf(\"Allocated thread stack at %p\\en\\en\", stack_addr);\n" msgstr "" " if (stack_size E= 0) {\n" " if (!allocate_stack) {\n" " s = pthread_attr_setstacksize(attrp, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " } else {\n" " s = posix_memalign(&stack_addr, sysconf(_SC_PAGESIZE),\n" " stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"posix_memalign\");\n" " printf(\"Allocated thread stack at %p\\en\\en\", stack_addr);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = pthread_attr_setstack(attrp, stack_addr, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " }\n" " }\n" msgstr "" " s = pthread_attr_setstack(attrp, stack_addr, stack_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " }\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (guard_size E= 0) {\n" " s = pthread_attr_setguardsize(attrp, guard_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " }\n" msgstr "" " if (guard_size E= 0) {\n" " s = pthread_attr_setguardsize(attrp, guard_size);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_setstacksize\");\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " return ret_attrp;\n" "}\n" msgstr "" " return ret_attrp;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int s;\n" " pthread_t thr;\n" " pthread_attr_t attr;\n" " pthread_attr_t *attrp = NULL; /* Set to &attr if we initialize\n" " a thread attributes object */\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int s;\n" " pthread_t thr;\n" " pthread_attr_t attr;\n" " pthread_attr_t *attrp = NULL; /* Définir à &attr si un objet d'attributs\n" " de thread est initialisé */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " attrp = get_thread_attributes_from_cl(argc, argv, &attr);\n" msgstr " attrp = get_thread_attributes_from_cl(argc, argv, &attr);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (attrp != NULL) {\n" " printf(\"Thread attributes object after initializations:\\en\");\n" " display_stack_related_attributes(attrp, \"\\et\");\n" " printf(\"\\en\");\n" " }\n" msgstr "" " if (attrp != NULL) {\n" " printf(\"Objet d'attributs de thread après initialisations :\\en\");\n" " display_stack_related_attributes(attrp, \"\\et\");\n" " printf(\"\\en\");\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = pthread_create(&thr, attrp, &thread_start, NULL);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_create\");\n" msgstr "" " s = pthread_create(&thr, attrp, &thread_start, NULL);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_create\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (attrp != NULL) {\n" " s = pthread_attr_destroy(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" " }\n" msgstr "" " if (attrp != NULL) {\n" " s = pthread_attr_destroy(attrp);\n" " if (s != 0)\n" " errc(EXIT_FAILURE, s, \"pthread_attr_destroy\");\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " pause(); /* Terminates when other thread calls exit() */\n" "}\n" msgstr "" " pause(); /* Termine quand un autre thread appelle exit() */\n" "}\n" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 octobre 2023" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Pages du manuel de Linux 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Pages du manuel de Linux 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 mars 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Pages du manuel de Linux 6.04" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr "Pages du manuel de Linux (non publiées)"