|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.11.2017, 05:38 | #1 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
macosx + qdiriterator
Так, просто Вобщем интересный "баг" впоймал, если в цикле по QDirIterator добавлять в папку файлы, то на маке iterator->hasNext() сразу фейлится. На линухе все норм.
Вот мне теперь интересно, а если сторонняя прога че запишит в папку, пока длинный цикл листинга идет? Все прерывается? Красота... |
03.11.2017, 07:18 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
А сколько файлов было до этого?
|
03.11.2017, 09:09 | #3 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Ну там у меня удваивается....делается список MOV, для каждого из них вызывается ffmpeg создать из него jpeg. В std::thread через QProcess.
Похоже, все ж дело не в итераторе. Я разделил формирование списка и обработку на 2 цикла. И вот после первого же вызова ffmpeg поток хочет завершаться. Код:
Последний раз редактировалось alexzk; 03.11.2017 в 09:13. |
03.11.2017, 13:31 | #4 | |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Разобрался...запуском нового процесса создавалось "ложное пробуждение" conditional_var, которая сигналила, что поток завершился и указатель можно убивать. Что вызывало убивание указателя (см. выше) и соотв. сигнал потоку, что мы тебя убиваем....
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бюджетный MacOSX | mutabor | Операционные системы общие вопросы | 5 | 25.12.2010 16:41 |
Программирование в MacOSX Cocoa | Ivan_32 | Qt и кроссплатформенное программирование С/С++ | 2 | 28.07.2009 13:18 |