Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QProcess из QThread
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
pwp2008
Подскажите, кто сталкивался.Вопрос про использование класса QProcess из
потока(QThread). Цель- нужно дождаться ответа от системной команды, но не
прерывать основной обработки и это не единожды, а периодически.
Компилируется все нормально, но на исполнении в конце концов вылетает
по Segmentation fault, чаще всего после QProcess::start();хотя иногда и в QThread падает по той же причине, но реже.Может сработать и 2 и 15 раз, но в конце концов загинается.
В процессе работы иногда выскакивало :
QSocketNotifier: Multiple socket notifiers for same socket 3640 and type Read.
Все это под МСВС с QT3.3. МСВС - это типа Linux...
wiz29
без кода сложно сказать в чем проблема, да и Qt 3 вроде уже вошел в историю.
lanz
Вот здесь пишут что так не стоит делать, симптомы те-же что и у вас:
http://www.qtcentre.org/threads/23552-Is-a...ead-safe-in-Qt4

Тред вам и не нужен, подключитесь к сигналам процесса в основном потоке.
pwp2008
Цитата
wiz29 без кода сложно сказать в чем проблема, да и Qt 3 вроде уже вошел в историю.

насчет истории - это,к сожалению, у кого как...

Цитата
lanz Вот здесь пишут что так не стоит делать, симптомы те-же что и у вас:
http://www.qtcentre.org/threads/23552-Is-a...ead-safe-in-Qt4

Ок, спасибо, обязательно посмотрю,хотя, там похоже про QT4

Цитата
lanzТред вам и не нужен, подключитесь к сигналам процесса в основном потоке.

Ок,не помню сейчас, а проверить не на чем, но вроде QProcess в 3.3 сигналы и выдает,
а вот QThead - нет. Если сигнал об окончании у QProcess есть, то Вы, похоже, правы- Thread не нужен.Спасибо.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.