0CodErr wrote:Насколько помню, CleverMouse сделала защиту от убийства процесса, который не завершил файловую операцию(вроде так, если, не ошибаюсь). И может, как раз в этот момент он зависает.
Почти. Защиту от убийства процесса, который занят любым системным вызовом. За исключением тех, которые явно говорят, что они безопасны, вызовом unprotect_from_terminate - сейчас это 5, 10, 23.
Leency wrote:Именно. Я считаю, что это не правильно. Должен быть диалог вроде: "Убивать процесс не завапренренвапке вапер кепркеер. Вы уверены что хотите это сделать?"
В крайнем случае, такая функция должна быть для разработчиков, которые знают, что делают.
И что разработчик будет делать с системой, в которой вообще любое обращение к любому файлу виснет, потому что был процесс был прибит, заняв и не успев освободить одну из структур? А это ещё оптимистичный вариант. Намного более реальный вариант - процесс послал запрос к устройству и ждёт ответа, причём ответ должен прийти в одну из страниц, выделенных процессу. Но процесс прибивают, система освобождает страницу, потом снова выделяет его для какого-то другого процесса, и тут наконец приходит ответ от устройства -
который перезаписывает совершенно произвольную область памяти в совершенно произвольном процессе. Удачи.
Pathoswithin wrote:А, так это не баг, а фича... Тогда скажу, что она обходится открытием и закрытием другой программы (например, ctrl-alt-del).
Достаточно дождаться завершения системного вызова. Защита не блокирует убийство, она его просто откладывает до безопасного момента. Если системный вызов не завершается - то это баг в системном вызове, его надо чинить.
Кроме того, защита не работает против смерти от внутреннего кровотечения.
Mega_Myr wrote:Другое дело что ОС "должна понимать":
1. что делает тот или иной процесс в данное время.
2. как поступать в конкретной ситуации.
и 3. у ос должна быть возможность безопасно завершать повисшее приложение. Без завершения работы ОС и с сохранением данных.
Ну вот ОС ровно это и делает. Завершать приложение в середине системного вызова небезопасно, нужно ждать.
Mega_Myr wrote:Колибри ведь позиционируется как надёжная ОС для встраиваемых систем?! Или нет?
Нет. Колибри позиционируется как маленькая десктопная ОС.