Problem with QT / Threads / Signals / Slots

F

Frank Bossy

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::stopServer()
{
QProcess* proc = sd.getProcess(); // already running process
connect(proc, SIGNAL(processExited()), this,
SLOT(aServerHasDied()));
proc->kill();
cout << "###############1" << endl;
int counter = 10; // seconds
cout << "###############2" << endl;
while (proc->isRunning()) {
cout << "###############3" << endl;
m_waiter.wait(1000/*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::aServerHasDied()
{
m_waiter.wait(5000/*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
 
V

Victor Bazarov

Frank Bossy said:
Dear group :)

Dear Frank,
I don't quite understand the meaning of this paragraph in the qt docu
(http://doc.trolltech.com/3.1/threads.html):
[...]

Qt, threading, Slots, and related things are not defined by the
C++ language. They happen to be, therefore, outside the scope
of this newsgroup. Perhaps there is a better place to ask your
question, like the TrollTech tech support or, maybe the newsgroup
for your platform... Or even their web site, where I managed to
locate this archive: http://lists.trolltech.com/qt-interest/ ...

Victor
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top