• Ell's avatar
    Bug 790631 - C plug-ins instability when processing gegl graphs ... · b6cb1d16
    Ell authored
    ... with several threads
    
    Commit d8ae5817 didn't go far
    enough in protecting GimpTileBackendPlugin against race conditions.
    The underlying GimpTile cache is shared across all drawables, so we
    must use a common lock for all instances of GimpTileBackendPlugin,
    instead of one per instance.
    
    Do just that -- replace the per-instance mutex of
    GimpTileBackendPlugin with a global one.  This makes
    GimpTileBackendPlugin instances thread-safe w.r.t. themselves, and
    w.r.t other GimpTileBackendPlugin instances.  However, we don't aim
    to make GimpTileBackendPlugin thread-safe w.r.t. other libgimp
    functions at this point, since the original API has never been
    thread-safe.
    b6cb1d16
gimptilebackendplugin.c 9.16 KB