Russian Qt Forum
Ноябрь 23, 2024, 15:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: Проблема с сервером (deleteLater() для сокета вызывает SegFault)  (Прочитано 18590 раз)
Patrin Andrey
Гость
« Ответ #30 : Октябрь 10, 2012, 12:00 »

Спроси у автора. Но такая ситуация может возникныть и без ручного удаления. Если мы из readyread вызываем QCoreApplication::processEvents а в это время клиент дисконнектится, то получится то же самое.
Записан
mutineer
Гость
« Ответ #31 : Октябрь 10, 2012, 12:05 »

Ну так значит сама идея вызова delete или processEvents из readyRead неправильна
Записан
Patrin Andrey
Гость
« Ответ #32 : Октябрь 10, 2012, 12:10 »

Так я о чём и говорю. Но как видим processEvent может вызваться из слота, который приконнекчен к сигналу, который эмитится в readyRead. А это уже контролировать очень сложно(можно конечно не эмитить сигналов:)). Поэтому если уж и эмитить сигналы из readyRead, то нужно обеспечить их присоединение через Qt::QueuedConnection.
Записан
mutineer
Гость
« Ответ #33 : Октябрь 10, 2012, 12:12 »

Вот такую кашу вызовов неконтролируемо откуда я и имел в виду под неправильным подходом
Записан
Ground
Гость
« Ответ #34 : Октябрь 10, 2012, 12:14 »

Вот такую кашу вызовов неконтролируемо откуда я и имел в виду под неправильным подходом
Вот теперь все намного понятнее Улыбающийся Но ей богу, пока сам на такие грабли не наступишь - нормально писать не станешь.
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.041 секунд. Запросов: 20.