Вкратце так:
main.cpp
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
a.exec();
cout << "********* MAIN" << endl;
return 0;
}
A.cpp
void term1_handler (int i) {
QCoreApplication::exit(0);
}
A::aMethod() {
....
if( error )
QCoreApplication::exit(0);
}
В общем надо выйти из проги либо по сигналу (term1_handler - обработчик сигнала SIGTERM), либо по ошибке из метода. По сигналу выходит нормально, из метода - никак. В чем причина ?