Зависание UC при зависе запущенного из-под него приложения
Модератор: motyara
-
- Сообщения: 109
- Зарегистрирован: Вт янв 29, 2008 4:44 pm
Зависание UC при зависе запущенного из-под него приложения
Если в UC кликнуть файл, который система открывает каким-либо приложением и это приложение зависнет - UC зависнет тоже. Например, переименуйте большой архив или исошку в avi и откройте KMPlayer'ом. KMPlayer вероятнее всего зависнет и UC тоже перестанет отвечать до убития KMPlayer. Из-под других менеджеров такого не наблюдается.
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
Переименовал архив размером в 800 мегабайт в AVI и открыл указанным плеером... возможно версия плеера более свежая, но он просто сказал что кодек не найден. Затем откомпилировал программку, которая при запуске просто зацикливается и висит, установил ее в качестве мастер-программы для набранного случайными буквами расширения файла - при клике по этому файлу программа запустилась и зациклилась на старте, но на Unreal Commander это не никак не отразилось (Windows Vista). Если вдруг обнаружится гарантированный способ увидеть подвисание в такой ситуации, то буду рад его узнать. Если сам обнаружу, то исправлю проблему если смогу.
-
- Сообщения: 109
- Зарегистрирован: Вт янв 29, 2008 4:44 pm
Re: Зависание UC при зависе запущенного из-под него приложения
Да, я немного поторопился. Зависания имеют место быть, но похоже, в каких-то конкретных случаях. Виндовый проводник, кстати, ведет себя так же. А тотал и фрегат - нет. Получится нормально воспроизвести - отпишу.
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
UC всегда висит до тех пор, пока не загрузится открывающая программа... Думаю, чтобы это воссоздать нужна программа, про которую в Диспетчере задач сразу будет написано "Не отвечает", а не та, которая уже запустилась и крутит вечный цикл... И есть подозрение, что современные компиляторы предотвращают такое поведение...
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
Как ни странно, но запуск производится именно через отдельный поток. Вероятно причина подвисания находится где-то в модуле запуска, которому наверное факт запущенности в отдельном потоке не сильно интересен.Qwertiy писал(а):Думаю, что для того, чтобы UC не дожидался завершения запуска программы, достаточно для открытия файла создавать новый поток.