[Interest] z-order for Qt's signals and slots

Jason H scorp1us at yahoo.com
Wed Nov 23 15:41:52 CET 2011


Haha, a little leakage there. You must be doing multi-threaded networking because it is not the network that makes the ordering impossible, it is the threading. Because your thread execution can happen according to your scheduler (and linux has many) and the i/o blocking for a thread, the order is undefined between threads.

Direct connections are maintained in a list and exhibit stability in accordance with the list operations. However do not exploit this.

The tips given - use finer grained emits and group multiple sequential functions in a single function is the way to go. If you are doing something with a high degree of synchronicity, and are not doing anything else, you can use the QxtSignalWaiter class to serialize stuff.



________________________________
 From: Atlant Schmidt <aschmidt at dekaresearch.com>
To: 'Giuseppe D'Angelo' <dangelog at gmail.com>; Sathishkumar Duraisamy <bewithsathish at gmail.com> 
Cc: "interest at qt-project.org" <interest at qt-project.org> 
Sent: Wednesday, November 23, 2011 7:15 AM
Subject: Re: [Interest] z-order for Qt's signals and slots
 
Giuseppe:

> For the sake of the argument, that's not completely true --
> slots are guaranteed to be called in the order they have
> been connected to the signal.

  I believe that's only true for locally-connected slots
  (where the emission of a signal simply becomes a well-
  hidden function call). But once you involve a network,
  all bets on ordering are off.

                            Atlant

-----Original Message-----
From: interest-bounces+aschmidt=dekaresearch.com at qt-project.org [mailto:interest-bounces+aschmidt=dekaresearch.com at qt-project.org] On Behalf Of Giuseppe D'Angelo
Sent: Wednesday, November 23, 2011 06:53
To: Sathishkumar Duraisamy
Cc: interest at qt-project.org
Subject: Re: [Interest] z-order for Qt's signals and slots

On 23 November 2011 05:21, Sathishkumar Duraisamy
<bewithsathish at gmail.com> wrote:
> Hi all,
>
> By definition, the order by which the signals and slots is called is
> undefined but for each signals and slots connection, slots will be
> called for its signals.

For the sake of the argument, that's not completely true -- slots are
guaranteed to be called in the order they have been connected to the
signal.
--
Giuseppe D'Angelo
_______________________________________________
Interest mailing list
Interest at qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Click https://www.mailcontrol.com/sr/rN2cE1EomvjTndxI!oX7UsdpzMR7Bo2KtxIHwmapinxAzSy711vj151URNZkVeUOO1VrjchtaiwsWPB8dn7asg==  to report this email as spam.

This e-mail and the information, including any attachments, it contains are intended to be a confidential communication only to the person or entity to whom it is addressed and may contain information that is privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender and destroy the original message.

Thank you.

Please consider the environment before printing this email.
_______________________________________________
Interest mailing list
Interest at qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20111123/5fda47de/attachment.html>


More information about the Interest mailing list