Название: QProcess::isRunning () Отправлено: cresta от Июль 05, 2007, 01:52 В чем смысл QProcess::isRunning ()???
Как можно воспользоваться этим для опеределения завершенности процесса? Если процесс завершен, возникает segmentation fault и программа вылетает :) Кто-нибудь видел, чтобы QProcess::isRunning () возвращала FALSE? Название: QProcess::isRunning () Отправлено: pastor от Июль 05, 2007, 10:13 В чем смысл, написано в ассистанте.
Сам лично видел, что этот метод возвращает false. Пример использования был таков: Код:
При этом никаких "segmentation fault" не возникало. Qt 3.3.8 Win Qt 3.3.6 Lin Название: QProcess::isRunning () Отправлено: cresta от Июль 05, 2007, 14:27 Код: proc->tryTerminate(); на qt 3.3.4 никакого qDebug, только segmentation fault :) При этом указатель валидный (тот же, что и до tryTerminate). В поиске тоже видел тему про segmentation fault при вызове isRunning() после уничтожения процесса. А есть какой-нибудь способ определения безопасности чтения/записи по указателю? Типа BadRead/WritePtr. Или какой-нибудь класс для перехвата ошибок типа segmentation fault? Название: QProcess::isRunning () Отправлено: pastor от Июль 05, 2007, 17:02 Попробуй вместо proc->tryTerminate() написать proc->kill(). Что-то измениться?
добавлено спустя 9 минут: Да, и ещё.. а в какой строке метода isRunning падает прога? Название: QProcess::isRunning () Отправлено: cresta от Июль 06, 2007, 01:02 с proc->kill() та же история.
А в какой строке метода ошибка - не знаю - у меня нет исходников qt, чтобы анализировать их. |