[Development] Reviews needed before android integration in two weeks
Thiago Macieira
thiago.macieira at intel.com
Wed Feb 6 20:19:32 CET 2013
On quarta-feira, 6 de fevereiro de 2013 10.23.25, BogDan wrote:
> On Android all events are coming from another thread, and some time a few
> events are not delivered by the event loop. It happens because if an event
> is added to the event loop when the event loop just started to
> process/deliver the events this event is not sent because the event loop
> "goes to sleep" (calls the QEventDispatcherUNIX::select(...) function), my
> patch prevents the call of select function if a new event was just added.
That explanation is not specific to Android. It looks like a real case for any
postEvent. Therefore, this change -- as described -- must be in QtCore or
nowhere at all.
However, your explanation is either mistaken or incomplete. The select() call
will not sleep because the pipe or eventfd will have unread data: instead, it
will wake up immediately. Then the event dispatcher will realise that there
are more events in the queue and will proceed to dispatch them.
I don't doubt that you found a deadlock condition somehow. But I am not
convinced that you understood it correctly or that you fixed it properly.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130206/9599d316/attachment.sig>
More information about the Development
mailing list