perkamon - en to fr translation catalogue (31 entries)

note: type: TH
en: 2017-09-15
fr: 15 septembre 2017

note: type: TH
en: Linux Programmer's Manual
fr: Manuel du programmeur Linux

note: type: SH
en: NAME
fr: NOM

note: type: Plain text
en: dup, dup2, dup3 - duplicate a file descriptor
fr: dup, dup2, dup3 - Dupliquer un descripteur de fichier

note: type: Plain text
en: B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */
    B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */
    B<#include E<lt>unistd.hE<gt>>
fr: B<#define _GNU_SOURCE>             /* Consultez feature_test_macros(7) */
    B<#include E<lt>fcntl.hE<gt>>      /* Définitions des constantes O_*   */
    B<#include E<lt>unistd.hE<gt>>

note: type: Plain text
en: The steps of closing and reusing the file descriptor I<newfd> are performed I<atomically>.  This is important, because trying to implement equivalent functionality using B<close>(2)  and B<dup>()  would be subject to race conditions, whereby I<newfd> might be reused between the two steps.  Such reuse could happen because the main program is interrupted by a signal handler that allocates a file descriptor, or because a parallel thread allocates a file descriptor.
fr: Les étapes de fermeture et de réutilisation du descripteur de fichiers I<newfd> sont effectuées de manière I<atomique>. Cela est important, parce qu'essayer d'implémenter des fonctionnalités équivalentes avec B<close>(2) et B<dup>() entraînerait une situation de compétition (« race condition »), où I<newfd> pourrait être réutilisé entre les deux étapes. Une telle réutilisation peut intervenir si le programme principal est interrompu par un gestionnaire de signaux qui alloue un descripteur de fichiers, ou parce qu'un processus léger qui s'exécute en parallèle alloue un descripteur de fichiers.

note: type: Plain text
en: Note the following points:
fr: Notez les points suivants\ :

note: type: Plain text
en: If I<oldfd> is not a valid file descriptor, then the call fails, and I<newfd> is not closed.
fr: Si I<oldfd> n'est pas un descripteur de fichier valable, alors l'appel échoue et I<newfd> n'est pas fermé.

note: type: Plain text
en: If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>.
fr: Si I<oldfd> est un descripteur de fichier valable et I<newfd> a la même valeur que I<oldfd>, alors B<dup2>() ne fait rien et renvoie I<newfd>.

note: type: Plain text
en: B<dup3>()  is the same as B<dup2>(), except that:
fr: B<dup3>() est identique à B<dup2>(), à l'exception de :

note: type: Plain text
en: The caller can force the close-on-exec flag to be set for the new file descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of the same flag in B<open>(2)  for reasons why this may be useful.
fr: L'appelant peut forcer l'attribut close-on-exec à être positionné pour le nouveau descripteur de fichier en ajoutant B<O_CLOEXEC> dans I<flags>. Consultez la description de cet attribut dans B<open>(2) pour savoir pourquoi cela peut être utile.

note: Ulrich Drepper, LKML, 2008-10-09: We deliberately decided on this change.  Otherwise, what is the result of dup3(fd, fd, O_CLOEXEC)? type: Plain text
en: If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>.
fr: Si I<oldfd> est égal à I<newfd>, alors B<dup3>() échoue avec l'erreur B<EINVAL>.

note: type: SH
en: RETURN VALUE
fr: VALEUR DE RETOUR

note: type: SH
en: ERRORS
fr: ERREURS

note: type: Plain text
en: (Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race condition with B<open>(2)  and B<dup>().
fr: (Linux seulement) Cette valeur peut être renvoyée par B<dup2>() ou B<dup3>() lors d'une concurrence critique avec B<open>(2) et B<dup>().

note: type: Plain text
en: The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see B<signal>(7).
fr: L'appel B<dup2>() ou B<dup3>() a été interrompu par un signal ; consultez B<signal>(7).

note: type: Plain text
en: B<dup3>()  was added to Linux in version 2.6.27; glibc support is available starting with version 2.9.
fr: B<dup3>() a été ajouté dans Linux dans la version 2.6.27 ; sa prise en charge dans la glibc est disponible à partir de la version 2.9.

note: type: SH
en: CONFORMING TO
fr: CONFORMITÉ

note: SVr4 documents additional EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR. The EBUSY return is Linux-specific. type: Plain text
en: B<dup3>()  is Linux-specific.
fr: B<dup3>() est spécifique à Linux.

note: type: Plain text
en: The error returned by B<dup2>()  is different from that returned by B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some systems, B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>.
fr: Les erreurs renvoyées par B<dup2>() sont différentes de celles retournées par B<fcntl(>..., B<F_DUPFD>, ...B<)> si I<newfd> n'est pas dans les valeurs autorisées. Sur certains systèmes, B<dup2> retourne aussi parfois B<EINVAL> comme B<F_DUPFD>.

note: type: Plain text
en: If I<newfd> was open, any errors that would have been reported at B<close>(2)  time are lost.  If this is of concern, then\(emunless the program is single-threaded and does not allocate file descriptors in signal handlers\(emthe correct approach is I<not> to close I<newfd> before calling B<dup2>(), because of the race condition described above.  Instead, code something like the following could be used:
fr: Si I<newfd> était ouvert, toute erreur qui aurait été rapportée au moment de B<close>(2) est perdue. Si cela est d'importance, alors, à moins que le programme ne soit monothread et n'alloue pas de descripteur de fichiers dans des gestionnaures de signaux, l'approche correcte est de I<ne pas> fermer I<newfd> avant d'appeler B<dup2>(), à cause de la condition de concurrence décrite ci-dessus. À la place, un code semblable à celui ci-dessous peut être utilisé :

note: type: Plain text
en:     /* Obtain a duplicate of 'newfd' that can subsequently
           be used to check for close() errors; an EBADF error
           means that 'newfd' was not open. */
fr:     /* Obtenir une copie de 'newfd' qui peut ensuite être
           utilisée pour vérifier les erreurs de close() ; une
           erreur EBADF signifie que 'newfd' n'était pas ouvert. */

note: type: Plain text
en:     tmpfd = dup(newfd);
        if (tmpfd == -1 && errno != EBADF) {
            /* Handle unexpected dup() error */
        }
fr:     tmpfd = dup(newfd);
        if (tmpfd == -1 && errno != EBADF) {
            /* Gérer une erreur inattendue de dup() */
        }

note: type: Plain text
en:     /* Atomically duplicate 'oldfd' on 'newfd' */
fr:     /* Copier 'oldfd' dans 'newfd' de manière atomique */

note: type: Plain text
en:     if (dup2(oldfd, newfd) == -1) {
            /* Handle dup2() error */
        }
fr:     if (dup2(oldfd, newfd) == -1) {
            /* Gérer une erreur de dup2() */
        }

note: type: Plain text
en:     /* Now check for close() errors on the file originally
           referred to by 'newfd' */
fr:     /* Maintenant, vérifier les erreurs de close() sur le fichier
           originellement désigné par 'newfd' */

note: type: Plain text
en:     if (tmpfd != -1) {
            if (close(tmpfd) == -1) {
                /* Handle errors from close */
            }
        }
fr:     if (tmpfd != -1) {
            if (close(tmpfd) == -1) {
                /* Gérer les erreurs de close() */
            }
        }

note: type: SH
en: SEE ALSO
fr: VOIR AUSSI

note: type: Plain text
en: This page is part of release 5.03 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
fr: Cette page fait partie de la publication 5.03 du projet I<man-pages> Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man-pages/.

note: type: Plain text
en: This page is part of release 5.02 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
fr: Cette page fait partie de la publication 5.02 du projet I<man-pages> Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man-pages/.

note: type: Plain text
en: This page is part of release 5.01 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
fr: Cette page fait partie de la publication 5.01 du projet I<man-pages> Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man-pages/.
