crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> 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 не нужен.Спасибо.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 4:33