The OpenNET Project / Index page

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



"Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..." +/
Сообщение от netch (ok), 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) что-то лажалось в солярке и она начинала выдавать совершенно неподходящую ошибку на попытку создания файла на диске, обходили циклом вокруг этой операции создания. Да, и такое бывает. Увы.


Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..., opennews, 29-Дек-12, 09:55  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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