Bug 790631 - C plug-ins instability when processing gegl graphs ...
... 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.
Showing with 9 additions and 11 deletions