Bonjour,
Je fais le code suivant afin d'intercepter par example les erreurs de segmentation.
Ensuite je fait un "raise(SIGSEGV)" depuis mon thred_GUI ou depuis mon Thread secondaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void handle_signal(int param) { printf("%d \n",(int)QThread::currentThread()); printf("%d \n",(int)QApplication::instance()->thread()); } //j'ecrit dans mon thread _GUI de Qt std::signal (SIGSEGV,handle_signal); //j'ecrit dans un Qthread lancer depuis mon thread _GUI de Qt std::signal (SIGSEGV,handle_signal);
Donc sous windows et linux suivant l'origine de mon erreur j'ai bien un currentThread différent ou égal au Thread GUI
Mais sous MacOS, quelque soit l'origine le currentThread est toujours idenetique au Thread_GUI, comme si la fonction "handle_signal" s'executait toujours dans le thread_GUI.
Quelqu'un aurait-il une explication sur ce comportement différent et plutôt étrange sous macOS
Merci d'avance
Partager