By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,678 Members | 1,158 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,678 IT Pros & Developers. It's quick & easy.

Problem with QT / Threads / Signals / Slots

P: n/a
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
Jul 19 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
"Frank Bossy" <fr*********@t-systems.com> wrote...
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
Jul 19 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.