After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 687129 - better handling of non-recursive source dispatching
better handling of non-recursive source dispatching
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: mainloop
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2012-10-29 15:44 UTC by Allison Karlitskaya (desrt)
Modified: 2018-05-24 14:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Allison Karlitskaya (desrt) 2012-10-29 15:44:24 UTC
Presently, when dispatching a non-recursive source, the source is blocked.

This removes all file descriptors associated with that source from the main context list of pollfds.  That involves some memory allocation, but if we move to epoll in the future it will involve making system calls.

All of this is in case we re-enter the main context via a recursive mainloop: we shouldn't dispatch the source again.

In reality, people don't often re-enter maincontexts.  We should therefore delay the work of blocking the source during dispatch to be handled only in the case that the user does re-enter the loop, in order to avoid the unnecessary shuffling.
Comment 1 GNOME Infrastructure Team 2018-05-24 14:47:00 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/622.