Dear group :)
I don't quite understand the meaning of this paragraph in the qt docu
(http://doc.trolltech.com/3.1/threads.html):
***SNIP
The Signals and Slots mechanism can be used in separate threads, as
long as the rules for QObject based classes are followed. The Signals
and Slots mechanism is synchronous: when a signal is emitted, all
slots are called immediately. The slots are executed in the thread
context that emitted the signal.
***SNIP
Part of my program consists of the following code:
bool
MyBUE::stopServ er()
{
QProcess* proc = sd.getProcess() ; // already running process
connect(proc, SIGNAL(processE xited()), this,
SLOT(aServerHas Died()));
proc->kill();
cout << "############## #1" << endl;
int counter = 10; // seconds
cout << "############## #2" << endl;
while (proc->isRunning()) {
cout << "############## #3" << endl;
m_waiter.wait(1 000/*ms*/); // A QWaitCondition
cout << "############## #4" << endl;
if (counter-- == 0) break;
cout << "############## #5" << endl;
}
if (proc->isRunning()) {
cout << "############## #6" << endl;
cout << "Could not terminate process." << endl;
cout << "############## #7" << endl;
return false;
}
cout << "Server terminated by stopServer." << endl;
cout << "############## #8" << endl;
return true;
}
void
MyBUE::aServerH asDied()
{
m_waiter.wait(5 000/*ms*/);
cout << "###XXX###" << endl;
}
I get the following result:
############### 1
############### 2
############### 3
<NO PAUSE!?>
############### 4
############### 5
<5 SECONDS PAUSE>
###XXX###
Server terminated by stopServer.
############### 8
Could please someone explain to me this behaviour? I don't understand
it :(
Any help would be greatly appreciated :)
bye,
Frank Bossy