Does Qt serialise slot calling, iow, will it queue signals emitted and deliver 
newer ones only when the previous slot invocation completed?

Qt::QueuedConnection does kind of suggest it might, which begs the question if 
there's a way around that in this situation?

Context: my graceful exit procedure is designed to trigger a somewhat less 
graceful exit when a 2nd signal is delivered, for instance when the graceful 
procedure blocks (thing unresponsive remote X server). This is implemented with 
a simple std::atomic_bool state variable.
When using an unspecified connect from the QSocketNotifier signal to my 
graceful exit procedure that principle doesn't seem to work, and even with 
something like `kill -2 $PID ; kill -1 $PID`  it is like the 2nd signal is 
never delivered.
I can fix that by forcing a Qt::DirectConnection, which seems to be signal safe 
(according to a sig_atomic_t state "inSignalHandler" var) but is it?

Thnks,
R.
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to