Skip to content
  • Dan Winship's avatar
    gmain: add g_source_add_child_source and g_source_remove_child_source · d15cdbef
    Dan Winship authored
    This adds "child source" support to GSource. A child source behaves
    basically like a GPollFD; when you add a source to a context, all of
    its child sources are added with the same priority; when you destroy a
    source, all of its child sources are destroyed; and when a child
    source triggers, its parent source's dispatch function is run.
    
    Use cases include:
    
        - adding a GTimeoutSource to another source to cause the source to
          automatically trigger after a certain timeout.
    
        - wrapping an existing source type with a new type that has
          a different callback signature
    
        - creating a source that triggers based on different conditions
          at different times.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=634239
    d15cdbef