Кажется, я получаю исключение, сгенерированное только потоком, созданным с помощью Qtconcurrent::run
У меня есть класс с именем FPSengine, в котором есть метод с именем FPSengine::getData(), который вызывается основным потоком и тремя другими потоками (2 QThreads и 1, созданный с помощью QtConcurrent::run()). Внутри FPSengine::getData() я вызываю QTime::currentTime(). Если я вызываю FPSengine::getData() из основного потока или одного из QThreads, у меня нет никаких проблем, но когда я вызываю FPSengine::getData() из потока, созданного с помощью Qtconcurrent::run(), я иногда получаю исключение. Может ли быть что-то не так с Qtconcurrent или QTime:currentTime() или даже с tzset (который вызывается QTime::currentTime из того, что показывает стек gdb)? Или что-то не так с моим кодом. Вот информация о стеке отказавшего потока:
0 поднять /lib/libc.so.6 0
1 abort /lib/libc.so.6 0
2 ?? /lib/libc.so.6 0
3 ?? /lib/libc.so.6 0
4 бесплатно /lib/libc.so.6 0
5 ?? /lib/libc.so.6 0
6 tzset /lib/libc.so.6 0
7 QTime::currentTime() /usr/lib/libQtCore.so.4 0
8 FPSengine: :xmitData FPSengine2.cpp 93
9 FPSengine::getData FPSengine2.cpp 21
10 threadDatalog::run threaddatalog.cpp 109
11 ?? /usr/lib/libQtCore.so.4 0
12 start_thread /lib/libpthread.so.0 0
13 clone /lib/libc.so.6 0 14 ?? 0