diff options
Diffstat (limited to 'po/ru/man2/close.2.po')
-rw-r--r-- | po/ru/man2/close.2.po | 690 |
1 files changed, 690 insertions, 0 deletions
diff --git a/po/ru/man2/close.2.po b/po/ru/man2/close.2.po new file mode 100644 index 00000000..b8ed15ba --- /dev/null +++ b/po/ru/man2/close.2.po @@ -0,0 +1,690 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2014. +# Dmitriy S. Seregin <dseregin@59.ru>, 2013. +# Dmitry Bolkhovskikh <d20052005@yandex.ru>, 2017. +# Katrin Kutepova <blackkatelv@gmail.com>, 2018. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 16:54+0100\n" +"PO-Revision-Date: 2019-10-05 07:56+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 "close" +msgstr "close" + +#. 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 "close - close a file descriptor" +msgstr "close - закрывает файловый дескриптор" + +#. 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 close(int >I<fd>B<);>\n" +msgstr "B<int close(int >I<fd>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 fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy +#| msgid "" +#| "B<close>() closes a file descriptor, so that it no longer refers to any " +#| "file and may be reused. Any record locks (see B<fcntl>(2)) held on the " +#| "file it was associated with, and owned by the process, are removed " +#| "(regardless of the file descriptor that was used to obtain the lock)." +msgid "" +"B<close>() closes a file descriptor, so that it no longer refers to any " +"file and may be reused. Any record locks (see B<fcntl>(2)) held on the " +"file it was associated with, and owned by the process, are removed " +"regardless of the file descriptor that was used to obtain the lock. This " +"has some unfortunate consequences and one should be extra careful when using " +"advisory record locking. See B<fcntl>(2) for discussion of the risks and " +"consequences as well as for the (probably preferred) open file description " +"locks." +msgstr "" +"Функция B<close>() закрывает файловый дескриптор, который после этого не " +"ссылается ни на один и файл и может быть использован повторно. Все " +"блокировки (см. B<fcntl>(2)), связанные с соответствующим файлом и " +"принадлежащие процессу, снимаются (независимо от того, какой файловый " +"дескриптор был ли использован для установки блокировки)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<fd> is the last file descriptor referring to the underlying open file " +"description (see B<open>(2)), the resources associated with the open file " +"description are freed; if the file descriptor was the last reference to a " +"file which has been removed using B<unlink>(2), the file is deleted." +msgstr "" +"Если I<fd> является последней копией какого-либо файлового дескриптора, " +"ссылающегося на используемое описание открытого файла, (см. B<open>(2)), то " +"ресурсы, связанные с описанием открытого файла, освобождаются; если файловый " +"дескриптор был последней ссылкой на файл, удалённый с помощью B<unlink>(2), " +"то файл окончательно удаляется." + +#. 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 "" +#| "B<close>() returns zero on success. On error, -1 is returned, and " +#| "I<errno> is set appropriately." +msgid "" +"B<close>() returns zero on success. On error, -1 is returned, and I<errno> " +"is set to indicate the error." +msgstr "" +"При успешном выполнении функции B<close>() возвращается 0. В случае ошибки " +"возвращается -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<fd> isn't a valid open file descriptor." +msgstr "Значение I<fd> не является допустимым открытым файловым дескриптором." + +#. 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>" + +#. Though, it's in doubt whether this error can ever occur; see +#. https://lwn.net/Articles/576478/ "Returning EINTR from close()" +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<close>() call was interrupted by a signal; see B<signal>(7)." +msgstr "Вызов B<close>() был прерван по сигналу; см. 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<EIO>" +msgstr "B<EIO>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An I/O error occurred." +msgstr "Произошла ошибка ввода-вывода." + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<ENOSPC>" +msgstr "B<ENOSPC>" + +#. type: TQ +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<EDQUOT>" +msgstr "B<EDQUOT>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On NFS, these errors are not normally reported against the first write which " +"exceeds the available storage space, but instead against a subsequent " +"B<write>(2), B<fsync>(2), or B<close>()." +msgstr "" +"Для NFS об этих ошибках, обычно, не сообщается при первой записи, которая " +"превысила доступное пространство памяти, а только в последующем B<write>(), " +"B<fsync>(2) или B<close>()." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"See NOTES for a discussion of why B<close>() should not be retried after an " +"error." +msgstr "" +"Смотрите в ЗАМЕЧАНИЯХ почему B<close>() нельзя вызывать снова после ошибки." + +#. 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: 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: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "ИСТОРИЯ" + +#. SVr4 documents an additional ENOLINK error condition. +#. 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: 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 "" +"A successful close does not guarantee that the data has been successfully " +"saved to disk, as the kernel uses the buffer cache to defer writes. " +"Typically, filesystems do not flush buffers when a file is closed. If you " +"need to be sure that the data is physically stored on the underlying disk, " +"use B<fsync>(2). (It will depend on the disk hardware at this point.)" +msgstr "" +"Выполнение закрытия без ошибок не гарантирует, что данные были успешно " +"записаны на диск, так как в ядре используется буферный кэш для отложенных " +"записей. Как правило, файловые системы не записывают буферы при закрытии " +"файла. Если требуется гарантировать физическую запись на используемый диск, " +"то можно использовать B<fsync>(2) (дальше всё будет зависеть от аппаратной " +"составляющей диска)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The close-on-exec file descriptor flag can be used to ensure that a file " +"descriptor is automatically closed upon a successful B<execve>(2); see " +"B<fcntl>(2) for details." +msgstr "" +"Флаг файлового дескриптора закрытие-при-exec можно использовать для гарантии " +"того, что файловый дескриптор автоматически закроется при успешном " +"выполнении B<execve>(2); подробности смотрите в 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 "Multithreaded processes and close()" +msgstr "" + +#. #-#-#-#-# archlinux: close.2.pot (PACKAGE VERSION) #-#-#-#-# +#. Date: Tue, 4 Sep 2007 13:57:35 +0200 +#. From: Fredrik Noring <noring@nocrew.org> +#. One such race involves signals and ERESTARTSYS. If a file descriptor +#. in use by a system call is closed and then reused by e.g. an +#. independent open() in some unrelated thread, before the original system +#. call has restarted after ERESTARTSYS, the original system call will +#. later restart with the reused file descriptor. This is most likely a +#. serious programming error. +#. type: Plain text +#. #-#-#-#-# debian-bookworm: close.2.pot (PACKAGE VERSION) #-#-#-#-# +#. Date: Tue, 4 Sep 2007 13:57:35 +0200 +#. From: Fredrik Noring <noring@nocrew.org> +#. One such race involves signals and ERESTARTSYS. If a file descriptor +#. in use by a system call is closed and then reused by e.g. an +#. independent open() in some unrelated thread, before the original system +#. call has restarted after ERESTARTSYS, the original system call will +#. later restart with the reused file descriptor. This is most likely a +#. serious programming error. +#. type: Plain text +#. #-#-#-#-# debian-unstable: close.2.pot (PACKAGE VERSION) #-#-#-#-# +#. Date: Tue, 4 Sep 2007 13:57:35 +0200 +#. From: Fredrik Noring <noring@nocrew.org> +#. One such race involves signals and ERESTARTSYS. If a file descriptor +#. in use by a system call is closed and then reused by e.g. an +#. independent open() in some unrelated thread, before the original system +#. call has restarted after ERESTARTSYS, the original system call will +#. later restart with the reused file descriptor. This is most likely a +#. serious programming error. +#. type: Plain text +#. #-#-#-#-# fedora-40: close.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-rawhide: close.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# mageia-cauldron: close.2.pot (PACKAGE VERSION) #-#-#-#-# +#. Date: Tue, 4 Sep 2007 13:57:35 +0200 +#. From: Fredrik Noring <noring@nocrew.org> +#. One such race involves signals and ERESTARTSYS. If a file descriptor +#. in use by a system call is closed and then reused by e.g. an +#. independent open() in some unrelated thread, before the original system +#. call has restarted after ERESTARTSYS, the original system call will +#. later restart with the reused file descriptor. This is most likely a +#. serious programming error. +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: close.2.pot (PACKAGE VERSION) #-#-#-#-# +#. Date: Tue, 4 Sep 2007 13:57:35 +0200 +#. From: Fredrik Noring <noring@nocrew.org> +#. One such race involves signals and ERESTARTSYS. If a file descriptor +#. in use by a system call is closed and then reused by e.g. an +#. independent open() in some unrelated thread, before the original system +#. call has restarted after ERESTARTSYS, the original system call will +#. later restart with the reused file descriptor. This is most likely a +#. serious programming error. +#. type: Plain text +#. #-#-#-#-# opensuse-tumbleweed: close.2.pot (PACKAGE VERSION) #-#-#-#-# +#. Date: Tue, 4 Sep 2007 13:57:35 +0200 +#. From: Fredrik Noring <noring@nocrew.org> +#. One such race involves signals and ERESTARTSYS. If a file descriptor +#. in use by a system call is closed and then reused by e.g. an +#. independent open() in some unrelated thread, before the original system +#. call has restarted after ERESTARTSYS, the original system call will +#. later restart with the reused file descriptor. This is most likely a +#. serious programming error. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"It is probably unwise to close file descriptors while they may be in use by " +"system calls in other threads in the same process. Since a file descriptor " +"may be reused, there are some obscure race conditions that may cause " +"unintended side effects." +msgstr "" +"Вероятно неблагоразумно закрывать дескрипторы файла, в то время как они " +"могут использоваться системными вызовами других нитей того же процесса. Так " +"как файловый дескриптор может использоваться повторно, есть некоторые " +"неясные условия возникновения гонок, которые могут вызвать непреднамеренные " +"побочные эффекты." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Furthermore, consider the following scenario where two threads are " +"performing operations on the same file descriptor:" +msgstr "" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(1)" +msgstr "(1)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"One thread is blocked in an I/O system call on the file descriptor. For " +"example, it is trying to B<write>(2) to a pipe that is already full, or " +"trying to B<read>(2) from a stream socket which currently has no available " +"data." +msgstr "" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(2)" +msgstr "(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "close - close a file descriptor" +msgid "Another thread closes the file descriptor." +msgstr "close - закрывает файловый дескриптор" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The behavior in this situation varies across systems. On some systems, when " +"the file descriptor is closed, the blocking system call returns immediately " +"with an error." +msgstr "" + +#. 'struct file' in kernel-speak +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On Linux (and possibly some other systems), the behavior is different: the " +"blocking I/O system call holds a reference to the underlying open file " +"description, and this reference keeps the description open until the I/O " +"system call completes. (See B<open>(2) for a discussion of open file " +"descriptions.) Thus, the blocking system call in the first thread may " +"successfully complete after the B<close>() in the second thread." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Dealing with error returns from close()" +msgstr "Обработка ошибки, возвращённой close()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A careful programmer will check the return value of B<close>(), since it is " +"quite possible that errors on a previous B<write>(2) operation are reported " +"only on the final B<close>() that releases the open file description. " +"Failing to check the return value when closing a file may lead to I<silent> " +"loss of data. This can especially be observed with NFS and with disk quota." +msgstr "" +"Аккуратный программист всегда проверяет возвращаемое B<close>() значение, " +"так как очень вероятно, что об ошибках предыдущей операции B<write>(2) будет " +"сообщено только при последнем вызове B<close>(), который освобождает " +"описание открытого файла. Невыполнение проверки возвращаемого значение при " +"закрытии файла может привести к I<неучтённой> потере данных. Это особенно " +"часто встречается с NFS и дисковыми квотами." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note, however, that a failure return should be used only for diagnostic " +"purposes (i.e., a warning to the application that there may still be I/O " +"pending or there may have been failed I/O) or remedial purposes (e.g., " +"writing the file once more or creating a backup)." +msgstr "" +"Однако заметим, что возвращаемая ошибка должна использоваться только для " +"диагностики (т. е., предупредить приложение, что, возможно, есть " +"незаконченные операции ввода-вывода или произошла ошибка ввода-вывода) или " +"исправления (например, повторной записи файла или создания резервной копии)." + +#. The file descriptor is released early in close(); +#. close() ==> __close_fd(): +#. __put_unused_fd() ==> __clear_open_fd() +#. return filp_close(file, files); +#. The errors are returned by filp_close() after the FD has been +#. cleared for re-use. +#. filp_close() +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Retrying the B<close>() after a failure return is the wrong thing to do, " +"since this may cause a reused file descriptor from another thread to be " +"closed. This can occur because the Linux kernel I<always> releases the file " +"descriptor early in the close operation, freeing it for reuse; the steps " +"that may return an error, such as flushing data to the filesystem or device, " +"occur only later in the close operation." +msgstr "" +"Повторный вызов B<close>() после получения ошибки делать не стоит, так как " +"это может привести к закрытию повторно использованного файлового дескриптора " +"другой нити. Это может произойти из-за того, что ядро Linux I<всегда> " +"освобождает файловый дескриптор в самом начале операции закрытия, делая его " +"доступным для повторного использования; шаги, которые могут вернуть ошибку, " +"такие как сброс данных в файловую систему или устройство, происходят только " +"после операции закрытия." + +#. FreeBSD documents this explicitly. From the look of the source code +#. SVR4, ancient SunOS, later Solaris, and AIX all do this. +#. Issue 8 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Many other implementations similarly always close the file descriptor " +"(except in the case of B<EBADF>, meaning that the file descriptor was " +"invalid) even if they subsequently report an error on return from " +"B<close>(). POSIX.1 is currently silent on this point, but there are plans " +"to mandate this behavior in the next major release of the standard." +msgstr "" +"Многие другие реализации поступают схожим образом и всегда закрывают " +"файловый дескриптор (за исключением случая B<EBADF>, означающего " +"некорректный файловый дескриптор) даже, если они затем возвратят ошибку " +"B<close>(). В POSIX.1 ничего не сказано на этот счёт, но есть планы " +"узаконить такое поведение в следующем выпуске стандарта." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A careful programmer who wants to know about I/O errors may precede " +"B<close>() with a call to B<fsync>(2)." +msgstr "" +"Аккуратный программист, который хочет узнать об ошибках ввода-вывода, перед " +"B<close>() вызовет B<fsync>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<EINTR> error is a somewhat special case. Regarding the B<EINTR> " +"error, POSIX.1-2008 says:" +msgstr "" +"Ошибка B<EINTR> является особым случаем. Про B<EINTR> в POSIX.1-2008 сказано:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If B<close>() is interrupted by a signal that is to be caught, it shall " +"return -1 with I<errno> set to B<EINTR> and the state of I<fildes> is " +"unspecified." +msgstr "" +"Если B<close>() прерван сигналом, который будет обработан, то вызов должен " +"вернуть -1, а I<errno> присвоить значение B<EINTR>; при этом состояние " +"I<fildes> не определено." + +#. FIXME . for later review when Issue 8 is one day released... +#. POSIX proposes further changes for EINTR +#. http://austingroupbugs.net/tag_view_page.php?tag_id=8 +#. http://austingroupbugs.net/view.php?id=529 +#. FIXME . +#. Review the following glibc bug later +#. https://sourceware.org/bugzilla/show_bug.cgi?id=14627 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This permits the behavior that occurs on Linux and many other " +"implementations, where, as with other errors that may be reported by " +"B<close>(), the file descriptor is guaranteed to be closed. However, it " +"also permits another possibility: that the implementation returns an " +"B<EINTR> error and keeps the file descriptor open. (According to its " +"documentation, HP-UX's B<close>() does this.) The caller must then once " +"more use B<close>() to close the file descriptor, to avoid file descriptor " +"leaks. This divergence in implementation behaviors provides a difficult " +"hurdle for portable applications, since on many implementations, B<close>() " +"must not be called again after an B<EINTR> error, and on at least one, " +"B<close>() must be called again. There are plans to address this conundrum " +"for the next major release of the POSIX.1 standard." +msgstr "" +"Этим допускается режим работы, действующий в Linux и многих других " +"реализациях, где как и при других ошибках, которые может вернуть B<close>(), " +"файловый дескриптор гарантированно закрывается. Однако, это также допускает " +"и другой режим: реализация возвращает ошибку B<EINTR> и оставляет файловый " +"дескриптор открытым (согласно документации, так делает B<close>() в HP-UX). " +"Вызывающий должен позднее ещё раз вызвать B<close>() для закрытия файлового " +"дескриптора, чтобы не допустить утечек файловых дескрипторов. Такое " +"расхождение в поведении реализаций является сложным препятствием для " +"переносимых приложений, так как во многих реализациях B<close>() не должен " +"вызываться ещё раз после получения ошибки B<EINTR> и, по крайней мере, в " +"одной B<close>() нужно вызвать снова. Есть планы разгадать эту загадку в " +"следующей большой версии стандарта POSIX.1." + +#. 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_range>(2), B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), " +"B<unlink>(2), B<fclose>(3)" +msgstr "" +"B<close_range>(2), B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), " +"B<unlink>(2), B<fclose>(3)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2022-10-30" +msgstr "30 октября 2022 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<close>() closes a file descriptor, so that it no longer refers to any " +"file and may be reused. Any record locks (see B<fcntl>(2)) held on the " +"file it was associated with, and owned by the process, are removed " +"(regardless of the file descriptor that was used to obtain the lock)." +msgstr "" +"Функция B<close>() закрывает файловый дескриптор, который после этого не " +"ссылается ни на один и файл и может быть использован повторно. Все " +"блокировки (см. B<fcntl>(2)), связанные с соответствующим файлом и " +"принадлежащие процессу, снимаются (независимо от того, какой файловый " +"дескриптор был ли использован для установки блокировки)." + +#. type: TP +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOSPC>, B<EDQUOT>" +msgstr "B<ENOSPC>, B<EDQUOT>" + +#. SVr4 documents an additional ENOLINK error condition. +#. type: Plain text +#: debian-bookworm +msgid "POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD." +msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD." + +#. type: TH +#: debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "2023-03-30" +msgstr "30 марта 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. Date: Tue, 4 Sep 2007 13:57:35 +0200 +#. From: Fredrik Noring <noring@nocrew.org> +#. One such race involves signals and ERESTARTSYS. If a file descriptor +#. in use by a system call is closed and then reused by e.g. an +#. independent open() in some unrelated thread, before the original system +#. call has restarted after ERESTARTSYS, the original system call will +#. later restart with the reused file descriptor. This is most likely a +#. serious programming error. +#. type: Plain text +#: fedora-40 fedora-rawhide +msgid "" +"When dealing with sockets, you have to be sure that there is no B<recv>(2) " +"still blocking on it on another thread, otherwise it might block forever, " +"since no more messages will be send via the socket. Be sure to use " +"B<shutdown>(2) to shut down all parts the connection before closing the " +"socket." +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |