QProcess из QThread, Неустойчивая работа с последующим Segmentation fault |
Здравствуйте, гость ( Вход | Регистрация )
QProcess из QThread, Неустойчивая работа с последующим Segmentation fault |
pwp2008 |
19.12.2014, 14:49
Сообщение
#1
|
Студент Группа: Участник Сообщений: 29 Регистрация: 19.12.2014 Пользователь №: 4299 Спасибо сказали: 0 раз(а) Репутация: 0 |
Подскажите, кто сталкивался.Вопрос про использование класса QProcess из
потока(QThread). Цель- нужно дождаться ответа от системной команды, но не прерывать основной обработки и это не единожды, а периодически. Компилируется все нормально, но на исполнении в конце концов вылетает по Segmentation fault, чаще всего после QProcess::start();хотя иногда и в QThread падает по той же причине, но реже.Может сработать и 2 и 15 раз, но в конце концов загинается. В процессе работы иногда выскакивало : QSocketNotifier: Multiple socket notifiers for same socket 3640 and type Read. Все это под МСВС с QT3.3. МСВС - это типа Linux... |
|
|
wiz29 |
19.12.2014, 16:56
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
без кода сложно сказать в чем проблема, да и Qt 3 вроде уже вошел в историю.
|
|
|
lanz |
19.12.2014, 20:53
Сообщение
#3
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Вот здесь пишут что так не стоит делать, симптомы те-же что и у вас:
http://www.qtcentre.org/threads/23552-Is-a...ead-safe-in-Qt4 Тред вам и не нужен, подключитесь к сигналам процесса в основном потоке. |
|
|
pwp2008 |
20.12.2014, 14:22
Сообщение
#4
|
Студент Группа: Участник Сообщений: 29 Регистрация: 19.12.2014 Пользователь №: 4299 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата wiz29 без кода сложно сказать в чем проблема, да и Qt 3 вроде уже вошел в историю. насчет истории - это,к сожалению, у кого как... Цитата lanz Вот здесь пишут что так не стоит делать, симптомы те-же что и у вас: http://www.qtcentre.org/threads/23552-Is-a...ead-safe-in-Qt4 Ок, спасибо, обязательно посмотрю,хотя, там похоже про QT4 Цитата lanzТред вам и не нужен, подключитесь к сигналам процесса в основном потоке. Ок,не помню сейчас, а проверить не на чем, но вроде QProcess в 3.3 сигналы и выдает, а вот QThead - нет. Если сигнал об окончании у QProcess есть, то Вы, похоже, правы- Thread не нужен.Спасибо. |
|
|
Текстовая версия | Сейчас: 14.1.2025, 20:32 |