Page 1 of 1

Различие выхода из Far по F10 и крестиком

Posted: Thu 27 Jun, 2019 10:04
by Shmuel
На моей системе есть детерминированное сочетание действий, приводящее к падению при последующем закрытии Фара крестиком в правом верхнем углу окна. В то же время, выход из Фар по F10 (после вышеупомянутых действий) к падению не приводит. В чём различие?

Различие выхода из Far по F10 и крестиком

Posted: Thu 27 Jun, 2019 10:51
by DrKnS
В идиотской архитектуре консоли.

F10 или "exit" - это культурный выход.

"Крестиком" - это ОС сама внезапно порождает thread внутри каждого процесса, живущего в этой консоли, даёт процессу несколько секунд, чтобы написать завещание, а затем тупо прибивает.

Far борется за себя до последнего - увидев CTRL_CLOSE_EVENT, запускает культурную процедуру выхода и... прибивает прибивателя. Это позволяет остановить время и завершаться не несколько секунд, а сколько нужно, но провернуть такой трюк можно только один раз. При этом вселенная уже в процессе утилизации, , поэтому да, может и падать.

Различие выхода из Far по F10 и крестиком

Posted: Thu 27 Jun, 2019 12:34
by Shmuel
Понятно, спасибо.