| |
Неожиданное поведение - это аномальное поведение, вызванное непредусмотренной зависимостью от относительной последовательности событий. Другими словами, программист неправильно предположил, что некоторое событие всегда случается перед другим.
Некоторые из широко распространенных причин возникновения таких проблем являются
сигналы, проверки доступа и открытия файлов. Сигналы по своей природе являются
асинхронными событиями, так что по отношению к ним нужно проявлять особое внимание.
Проверка доступа функцией access(2)
с последующим вызовом
open(2)
полностью не атомарно. Пользователи могут
переместить файлы в промежутке между двумя вызовами. Вместо этого привилегированное
приложение должно выполнить seteuid()
, а затем сразу
вызвать open()
. В тех же строках приложение должно всегда
устанавливать явно маску прав доступа (umask) перед вызовом функции open()
во избежание беспорядочных вызовов chmod()
.
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите <frdp@FreeBSD.org.ua>.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |