Блокировка завершения работы Windows

Нашли баг? Воспользуйтесь поиском чтобы убедиться что его не нашли до вас и если он не упоминается добавьте его описание (желательно пошаговое).
Обязательно прочитайте чем для автора программы отличаются баги, недоработки и фичи.

Модератор: motyara

Ответить
Beast Winterwolf
Сообщения: 19
Зарегистрирован: Сб ноя 28, 2009 2:01 pm

Блокировка завершения работы Windows

Сообщение Beast Winterwolf » Ср сен 02, 2015 10:17 am

Эта штука просто задолбала, честное слово! Я нажимаю кнопку выключения компьютера и ухожу спать. Просыпаюсь, а компьютер по-прежнему включен!
Вложения
Безымянный.png

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3125
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Ср сен 02, 2015 3:55 pm

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

evgenyatam
Сообщения: 56
Зарегистрирован: Вс авг 02, 2009 5:27 pm

Re:

Сообщение evgenyatam » Ср сен 02, 2015 9:46 pm

Max Diesel писал(а):Обычно если уж программа не дает завершить работу системы, то попытка ее принудительно закрыть вручную тоже невозможна, однако здесь завершение вручную происходит легко...
просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3125
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Ср сен 02, 2015 9:53 pm

evgenyatam писал(а):просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.
Причина проблемы явно в чем-то другом, так как если вместо кнопки "Принудительная перезагрузка" нажать "Отмена" и затем снова повторить попытку перезагрузки, то эффект будет тот же, однако если нажав отмену потом просто нажать кнопку закрытия программы, то закрытие происходит совершенно ровно - программа не сообщает о каком-либо желании завершить недовыполненную операцию и не падает с ошибкой.

Beast Winterwolf
Сообщения: 19
Зарегистрирован: Сб ноя 28, 2009 2:01 pm

Сообщение Beast Winterwolf » Чт сен 03, 2015 6:12 am

Подумайте, какие циклы в программе могут к этому приводить. Проблема однозначно в них.

Beast Winterwolf
Сообщения: 19
Зарегистрирован: Сб ноя 28, 2009 2:01 pm

Re: Re:

Сообщение Beast Winterwolf » Чт сен 03, 2015 6:19 am

evgenyatam писал(а): просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.
У меня скайп завершается нормально и принудительное завершение срабатывает. Проблема не в том. Этот экран просто не должен зависать в ожидании вечно.

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3125
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Чт сен 03, 2015 6:29 am

Beast Winterwolf писал(а):Подумайте, какие циклы в программе могут к этому приводить. Проблема однозначно в них.
Если бы дело было в циклах, то не только система не могла бы завершить программу, но и пользователь тоже - по нажатию кнопки "Закрыть" программа бы не закрывалась и это легко позволило бы найти причину проблемы. Сейчас я внес изменения в код функции, которая отвечает за реакцию на команду завершения, возможно теперь проблема исчезнет. Сообщите мне если при следующем билде проблема повторится.

evgenyatam
Сообщения: 56
Зарегистрирован: Вс авг 02, 2009 5:27 pm

Re:

Сообщение evgenyatam » Ср сен 09, 2015 6:54 pm

Max Diesel писал(а):
evgenyatam писал(а): Причина проблемы явно в чем-то другом, так как если вместо кнопки "Принудительная перезагрузка" нажать "Отмена" и затем снова повторить попытку перезагрузки, то эффект будет тот же, однако если нажав отмену потом просто нажать кнопку закрытия программы, то закрытие происходит совершенно ровно - программа не сообщает о каком-либо желании завершить недовыполненную операцию и не падает с ошибкой.
при нажатии "отмена" ничего кроме отмены завершения работы и закрытия окна не происходит.
закрытие происходит совершенно ровно потому что UC, как и любая другая программа, не чувствует скидывания процесса - так как при этом команды выхода не подается, а процесс принудительно завершается и чистится память занимаемая процессом.

evgenyatam
Сообщения: 56
Зарегистрирован: Вс авг 02, 2009 5:27 pm

Re:

Сообщение evgenyatam » Ср сен 09, 2015 6:57 pm

Max Diesel писал(а): Если бы дело было в циклах, то не только система не могла бы завершить программу, но и пользователь тоже - по нажатию кнопки "Закрыть" программа бы не закрывалась и это легко позволило бы найти причину проблемы.
вот это совершенно правильно.

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Ср сен 09, 2015 9:15 pm

evgenyatam писал(а):закрытие происходит совершенно ровно потому что UC, как и любая другая программа, не чувствует скидывания процесса - так как при этом команды выхода не подается, а процесс принудительно завершается и чистится память занимаемая процессом.
Там имелось в виду закрытие пользователем при помощи крестика. В этом варианте тоже происходит отправка сообщения программе, только немного другого.

Ответить