Название: Ошибка Segmentation fault при dequeue из очереди QQueue< QByteArray*> Отправлено: pawok11 от Сентябрь 03, 2010, 10:50 В потоке (поток 0) запускаются два потока (поток 1 и поток 2): один получает данные из сети и кладет их в очередь, другой их достает из очереди и обрабатывает.
Очередь и мютекс на очередь объявлены в потоке 0: Код
Поток 1 получает данные и кладет их в очередь Код
Поток 2: Код
Ошибка Segmentation fault появляется в строке: Код
Вопрос что не так и как еще можно организовать передачу данных между потоками? Debuger показывает: Код
Название: Re: Ошибка Segmentation fault при dequeue из очереди QQueue< QByteArray*> Отправлено: pawok11 от Сентябрь 08, 2010, 15:13 Причина ошибки так и не была найдена :(
Переделано с использованием семафоров:) Название: Re: Ошибка Segmentation fault при dequeue из очереди QQueue< QByteArray*> Отправлено: Igors от Сентябрь 08, 2010, 15:33 А чего для потока 2 используете lockForRead если dequeue модифицирует очередь т.е. пишет?
Название: Re: Ошибка Segmentation fault при dequeue из очереди QQueue< QByteArray*> Отправлено: pawok11 от Сентябрь 09, 2010, 13:19 Ваша правда.
Но использование просто мьютексов QMutex, давало тот же самый результат, т.е. приводило к той же самой ошибке. |