summaryrefslogtreecommitdiffstats
path: root/po/ru/man2/dup.2.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/ru/man2/dup.2.po')
-rw-r--r--po/ru/man2/dup.2.po716
1 files changed, 716 insertions, 0 deletions
diff --git a/po/ru/man2/dup.2.po b/po/ru/man2/dup.2.po
new file mode 100644
index 00000000..a774a6e8
--- /dev/null
+++ b/po/ru/man2/dup.2.po
@@ -0,0 +1,716 @@
+# Russian translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# Yuri Kozlov <yuray@komyakino.ru>, 2012-2019.
+# Иван Павлов <pavia00@gmail.com>, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n\n"
+"POT-Creation-Date: 2024-03-01 16:55+0100\n"
+"PO-Revision-Date: 2019-08-29 09:55+0300\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
+"(n%100>=11 && n%100<=14)? 2 : 3);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "dup"
+msgstr "dup"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 октября 2023 г."
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Linux man-pages 6.06"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr "ИМЯ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "dup, dup2, dup3 - duplicate a file descriptor"
+msgstr "dup, dup2, dup3 - создать дубликат файлового дескриптора"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Standard C library (I<libc>, I<-lc>)"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "СИНТАКСИС"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<#include E<lt>unistd.hE<gt>>\n"
+msgstr "B<#include E<lt>unistd.hE<gt>>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<int dup(int >I<oldfd>B<);>\n"
+"B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
+msgstr ""
+"B<int dup(int >I<oldfd>B<);>\n"
+"B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid ""
+#| "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
+#| "B<#include E<lt>fcntl.hE<gt>> /* Obtain O_* constant definitions */\n"
+#| "B<#include E<lt>unistd.hE<gt>>\n"
+msgid ""
+"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
+"B<#include E<lt>fcntl.hE<gt>> /* Definition of B<O_*> constants */\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+msgstr ""
+"B<#define _GNU_SOURCE> /* Смотрите feature_test_macros(7) */\n"
+"B<#include E<lt>fcntl.hE<gt>> /* Определение констант O_* */\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
+msgstr "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\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 "ОПИСАНИЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<dup>() system call allocates a new file descriptor that refers to the "
+"same open file description as the descriptor I<oldfd>. (For an explanation "
+"of open file descriptions, see B<open>(2).) The new file descriptor number "
+"is guaranteed to be the lowest-numbered file descriptor that was unused in "
+"the calling process."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "After a successful return, the old and new file descriptors may be used "
+#| "interchangeably. They refer to the same open file description (see "
+#| "B<open>(2)) and thus share file offset and file status flags; for "
+#| "example, if the file offset is modified by using B<lseek>(2) on one of "
+#| "the file descriptors, the offset is also changed for the other."
+msgid ""
+"After a successful return, the old and new file descriptors may be used "
+"interchangeably. Since the two file descriptors refer to the same open file "
+"description, they share file offset and file status flags; for example, if "
+"the file offset is modified by using B<lseek>(2) on one of the file "
+"descriptors, the offset is also changed for the other file descriptor."
+msgstr ""
+"После успешного выполнения старый и новый файловые дескрипторы являются "
+"взаимозаменяемыми. Они указывают на одно и то же открытое файловое описание "
+"(смотрите B<open>(2)) и поэтому имеют общее файловое смещение и флаги "
+"состояния файла; например, если файловое смещение изменить с помощью "
+"B<lseek>(2) через один из файловых дескрипторов, то смещение изменится и для "
+"другого."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The two file descriptors do not share file descriptor flags (the close-on-"
+"exec flag). The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2)) for "
+"the duplicate descriptor is off."
+msgstr ""
+"Эти два файловых дескриптора имеют различные флаги дескриптора файла (флаг "
+"close-on-exec). Флаг close-on-exec (B<FD_CLOEXEC>; см. B<fcntl>(2)) у копии "
+"дескриптора сбрасывается."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "dup2()"
+msgstr "dup2()"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "The B<dup2>() system call performs the same task as B<dup>(), but "
+#| "instead of using the lowest-numbered unused file descriptor, it uses the "
+#| "file descriptor number specified in I<newfd>. If the file descriptor "
+#| "I<newfd> was previously open, it is silently closed before being reused."
+msgid ""
+"The B<dup2>() system call performs the same task as B<dup>(), but instead "
+"of using the lowest-numbered unused file descriptor, it uses the file "
+"descriptor number specified in I<newfd>. In other words, the file "
+"descriptor I<newfd> is adjusted so that it now refers to the same open file "
+"description as I<oldfd>."
+msgstr ""
+"Системный вызов B<dup2>() выполняет ту же задачу, что и B<dup>(), но вместо "
+"использования самого маленького неиспользуемого номера файлового "
+"дескриптора, он использует номер файлового дескриптора, указанного в "
+"I<newfd>. Если файловый дескриптор I<newfd> уже открыт, то он закрывается "
+"перед повторным использованием."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the file descriptor I<newfd> was previously open, it is closed before "
+"being reused; the close is performed silently (i.e., any errors during the "
+"close are not reported by B<dup2>())."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"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."
+msgstr ""
+"Шаги по закрытию и повторному использованию файлового дескриптора I<newfd> "
+"выполняются I<атомарно>. Это важно, так как попытка реализовать подобное с "
+"помощью B<close>(2) и B<dup>() привело бы к состязательности, в силу чего "
+"I<newfd> мог быть задействован повторно между этими двумя шагами. Такое "
+"повторное использование может произойти, из-за прерывания основной программы "
+"обработчиком сигналов, который выделяет файловый дескриптор, или из-за "
+"параллельной нити, выделяющей файловый дескриптор."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Note the following points:"
+msgstr "Также заметим следующее:"
+
+#. type: IP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "\\[bu]"
+msgstr "\\[bu]"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<oldfd> is not a valid file descriptor, then the call fails, and "
+"I<newfd> is not closed."
+msgstr ""
+"Если I<oldfd> является некорректным файловым дескриптором, то вызов "
+"завершается с ошибкой, а I<newfd> не закрывается."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"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>."
+msgstr ""
+"Если I<oldfd> является корректным файловым дескриптором, а номер I<newfd> "
+"совпадает с I<oldfd>, то B<dup2>() не делает ничего и возвращает значение "
+"I<newfd>."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "dup3()"
+msgstr "dup3()"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<dup3>() is the same as B<dup2>(), except that:"
+msgstr "B<dup3>() похож на B<dup2>(). Отличия заключаются в следующем:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"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."
+msgstr ""
+"Вызывающий может принудительно установить флаг close-on-exec flag у нового "
+"файлового дескриптора, указав B<O_CLOEXEC> в I<flags>. Зачем это может быть "
+"нужно смотрите в B<open>(2)."
+
+#. 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
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<oldfd> equals I<newfd>, then B<dup3>() fails with the error B<EINVAL>."
+msgstr "Если I<oldfd> равно I<newfd>, то B<dup3>() выдает ошибку B<EINVAL>."
+
+#. 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 "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "On success, these system calls return the new file descriptor. On error, "
+#| "-1 is returned, and I<errno> is set appropriately."
+msgid ""
+"On success, these system calls return the new file descriptor. On error, -1 "
+"is returned, and I<errno> is set to indicate the error."
+msgstr ""
+"В случае успеха данные системные вызовы возвращают новый файловый дескриптор "
+"или -1, если произошла ошибка (в этом случае I<errno> устанавливается "
+"должным образом)."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr "ОШИБКИ"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EBADF>"
+msgstr "B<EBADF>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "I<oldfd> isn't an open file descriptor."
+msgstr "Значение I<oldfd> не является открытым файловым дескриптором."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<newfd> is out of the allowed range for file descriptors (see the "
+"discussion of B<RLIMIT_NOFILE> in B<getrlimit>(2))."
+msgstr ""
+"Значение I<newfd> находится вне допустимого диапазона файловых дескрипторов "
+"(смотрите описание B<RLIMIT_NOFILE> в B<getrlimit>(2))."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EBUSY>"
+msgstr "B<EBUSY>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(Linux only) This may be returned by B<dup2>() or B<dup3>() during a race "
+"condition with B<open>(2) and B<dup>()."
+msgstr ""
+"(только в Linux) Может случиться в B<dup2>() или B<dup3>() при возникновении "
+"состязательности вызовов B<open>(2) и B<dup>()."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINTR>"
+msgstr "B<EINTR>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<dup2>() or B<dup3>() call was interrupted by a signal; see "
+"B<signal>(7)."
+msgstr ""
+"Вызов B<dup2>() или B<dup3>() был прерван каким-либо сигналом. Смотрите "
+"B<signal>(7)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr "B<EINVAL>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "(B<dup3>()) I<flags> contain an invalid value."
+msgstr "(B<dup3>()) I<flags> содержит некорректное значение."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "(B<dup3>()) I<oldfd> was equal to I<newfd>."
+msgstr "(B<dup3>()) I<oldfd> было равно I<newfd>."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EMFILE>"
+msgstr "B<EMFILE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The per-process limit on the number of open file descriptors has been "
+"reached (see the discussion of B<RLIMIT_NOFILE> in B<getrlimit>(2))."
+msgstr ""
+"Было достигнуто ограничение по количеству открытых файловых дескрипторов на "
+"процесс (смотрите описание B<RLIMIT_NOFILE> в B<getrlimit>(2))."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr "СТАНДАРТЫ"
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<dup>(2)"
+msgid "B<dup>()"
+msgstr "B<dup>(2)"
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<dup2>(2)"
+msgid "B<dup2>()"
+msgstr "B<dup2>(2)"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2008."
+msgstr "POSIX.1-2008."
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<dup>(2)"
+msgid "B<dup3>()"
+msgstr "B<dup>(2)"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Linux."
+msgstr "Linux."
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr "ИСТОРИЯ"
+
+#. SVr4 documents additional
+#. EINTR and ENOLINK error conditions. POSIX.1 adds EINTR.
+#. The EBUSY return is Linux-specific.
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2001, SVr4, 4.3BSD."
+msgstr "POSIX.1-2001, SVr4, 4.3BSD."
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Linux 2.6.27, glibc 2.9."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr "ЗАМЕЧАНИЯ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"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>."
+msgstr ""
+"Ошибка, которую возвращает B<dup2>(), отличается от той, что возвращает "
+"B<fcntl(>…, B<F_DUPFD>, …B<)>, когда I<newfd> находится вне допустимых "
+"пределов. На некоторых системах B<dup2>() также иногда возвращает B<EINVAL> "
+"— как B<F_DUPFD>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "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:"
+msgid ""
+"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\\[em]unless the "
+"program is single-threaded and does not allocate file descriptors in signal "
+"handlers\\[em]the 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:"
+msgstr ""
+"Если был открыт I<newfd>, то любые ошибки, о которых было бы сообщено "
+"B<close>(2), теряются. Если это важно, то (если программа однонитевая и не "
+"выделяет файловые дескрипторы в обработчиках сигналов) правильней будет "
+"I<не> закрывать I<newfd> перед вызовом B<dup2>(), из-за состязательности, "
+"описанной выше. Вместо этого можно использовать, например, такой код:"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"/* Obtain a duplicate of \\[aq]newfd\\[aq] that can subsequently\n"
+" be used to check for close() errors; an EBADF error\n"
+" means that \\[aq]newfd\\[aq] was not open. */\n"
+"\\&\n"
+"tmpfd = dup(newfd);\n"
+"if (tmpfd == -1 && errno != EBADF) {\n"
+" /* Handle unexpected dup() error. */\n"
+"}\n"
+"\\&\n"
+"/* Atomically duplicate \\[aq]oldfd\\[aq] on \\[aq]newfd\\[aq]. */\n"
+"\\&\n"
+"if (dup2(oldfd, newfd) == -1) {\n"
+" /* Handle dup2() error. */\n"
+"}\n"
+"\\&\n"
+"/* Now check for close() errors on the file originally\n"
+" referred to by \\[aq]newfd\\[aq]. */\n"
+"\\&\n"
+"if (tmpfd != -1) {\n"
+" if (close(tmpfd) == -1) {\n"
+" /* Handle errors from close. */\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. 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 "СМ. ТАКЖЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<close>(2), B<fcntl>(2), B<open>(2), B<pidfd_getfd>(2)"
+msgstr "B<close>(2), B<fcntl>(2), B<open>(2), B<pidfd_getfd>(2)"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr "5 февраля 2023 г."
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Linux man-pages 6.03"
+
+#. type: SH
+#: debian-bookworm
+#, no-wrap
+msgid "VERSIONS"
+msgstr "ВЕРСИИ"
+
+#. type: Plain text
+#: debian-bookworm
+#, fuzzy
+#| msgid ""
+#| "B<dup3>() was added to Linux in version 2.6.27; glibc support is "
+#| "available starting with version 2.9."
+msgid ""
+"B<dup3>() was added in Linux 2.6.27; glibc support is available since glibc "
+"2.9."
+msgstr ""
+"Вызов B<dup3>() был добавлен в Linux версии 2.6.27; поддержка в glibc "
+"доступна с версии 2.9."
+
+#. type: Plain text
+#: debian-bookworm
+msgid "B<dup>(), B<dup2>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD."
+msgstr "B<dup>(), B<dup2>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD."
+
+#. SVr4 documents additional
+#. EINTR and ENOLINK error conditions. POSIX.1 adds EINTR.
+#. The EBUSY return is Linux-specific.
+#. type: Plain text
+#: debian-bookworm
+msgid "B<dup3>() is Linux-specific."
+msgstr "B<dup3>() есть только в Linux."
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| "/* Obtain a duplicate of \\(aqnewfd\\(aq that can subsequently\n"
+#| " be used to check for close() errors; an EBADF error\n"
+#| " means that \\(aqnewfd\\(aq was not open. */\n"
+msgid ""
+"/* Obtain a duplicate of \\[aq]newfd\\[aq] that can subsequently\n"
+" be used to check for close() errors; an EBADF error\n"
+" means that \\[aq]newfd\\[aq] was not open. */\n"
+msgstr ""
+"/* Получить копию «newfd», которую затем можно\n"
+" использовать для проверки ошибок close(); ошибка EBADF\n"
+" означает, что «newfd» не открыт. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"tmpfd = dup(newfd);\n"
+"if (tmpfd == -1 && errno != EBADF) {\n"
+" /* Handle unexpected dup() error. */\n"
+"}\n"
+msgstr ""
+" tmpfd = dup(newfd);\n"
+" if (tmpfd == -1 && errno != EBADF) {\n"
+" /* обработка неожидаемой ошибки dup(). */\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid "/* Atomically duplicate \\(aqoldfd\\(aq on \\(aqnewfd\\(aq. */\n"
+msgid "/* Atomically duplicate \\[aq]oldfd\\[aq] on \\[aq]newfd\\[aq]. */\n"
+msgstr "/* атомарное копирование «oldfd» в «newfd» */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"if (dup2(oldfd, newfd) == -1) {\n"
+" /* Handle dup2() error. */\n"
+"}\n"
+msgstr ""
+" if (dup2(oldfd, newfd) == -1) {\n"
+" /* обработка ошибки dup2(). */\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| "/* Now check for close() errors on the file originally\n"
+#| " referred to by \\(aqnewfd\\(aq. */\n"
+msgid ""
+"/* Now check for close() errors on the file originally\n"
+" referred to by \\[aq]newfd\\[aq]. */\n"
+msgstr ""
+" /* теперь проверим ошибки close() у файла, на который изначально\n"
+" ссылался «newfd» */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"if (tmpfd != -1) {\n"
+" if (close(tmpfd) == -1) {\n"
+" /* Handle errors from close. */\n"
+" }\n"
+"}\n"
+msgstr ""
+" if (tmpfd != -1) {\n"
+" if (close(tmpfd) == -1) {\n"
+" /* обработка ошибок закрытия. */\n"
+" }\n"
+" }\n"
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-05-03"
+msgstr "3 мая 2023 г."
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr "Linux man-pages 6.05.01"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr "30 марта 2023 г."
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Linux man-pages 6.04"