# 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)"