The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."
Отправлено netch, 09-Янв-13 12:46 
> Валентин, попытка отойти от стандарта (POSIX -- стандарт, между прочим) должна караться
> апстеной. И только ей.

Что ж, если разговор пошёл в таком ключе, то давай пройдём по стандартам и в предельно официальном варианте. Прошу встречных обоснований этому тезису, а именно:

1. Где именно в POSIX сказано, что для некоторой функции допускаются только те ошибки, которые упомянуты в соответствующем описании в POSIX?

Я пока что вижу явное разрешение противоположного, а именно (в functions/V2_chap02.html):

<blockquote>Implementations may support additional errors not included in this list, may generate errors included in this list under circumstances other than those described here, or may contain extensions or limitations that prevent some errors from occurring.</blockquote>

2. Где и когда Linux специфицировал официальную совместимость с POSIX?

Я уверен, что ты по обоим пунктам не сможешь дать обоснования, а значит, ссылка на POSIX как стандарт, который не допускает появления других ошибок, чем документированы, не есть работающим аргументом.

>> На практике невозможно всегда и во всём соблюдать этот список,
> Это возможно всегда и во всём.

Я не увидел никакого обоснования этого тезиса, и цитатой выше обосновал обратное.

>> и весь софт, который общается с ядром, должен быть готов к возврату ошибки
>> с недокументированным кодом.
> То есть, масштабируя: софт, который общается с ядром, должен обрабатывать все возможные
> ошибки. А теперь, внимание, вопрос: как он должен реагировать на ошибки,
> не описанные в man'е? Выражаясь неформально, это abort, retry или fail?

"Внимание, ответ": здесь не может быть общего ответа. В каждом конкретном случае надо смотреть по обстановке - не по коду ошибки (он-то неизвестен), а по тому, что является оптимальной реакцией в этом месте на ошибки неизвестного содержания.
В основном, я думаю, это fail, в твоих неформальных терминах. Достаточно часто - abort.
Где-то - retry, но ограниченное количество раз.

Я как-то рассказывал, как у нас под серьёзной нагрузкой (innfeed) что-то лажалось в солярке и она начинала выдавать совершенно неподходящую ошибку на попытку создания файла на диске, обходили циклом вокруг этой операции создания. Да, и такое бывает. Увы.


 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру