-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove plot api locking. #2218
Remove plot api locking. #2218
Conversation
@dkillick Ping ... |
@bjlittle spotted! Now all I need is some time to look through this... |
One thing this PR does not address is removing the pip install from travis.yml. Depending on the scope of this PR, I'm either happy with this or not happy with this:
Comments on a postcard 📮! Or, you know, on this PR. |
Otherwise I'm happy that the changes here represent a complete removal of the additions to |
@dkillick I've not address removing This PR is only to address removing the locking from the plotting api. I don't quite understand your comment regarding |
Sorry! What I meant was "do we want this PR to deal with all problems introduced in #2206", which to my mind includes the spurious
and as such I think we might be there with this fix! Thanks @bjlittle |
This PR addresses the post-merge issues raised by @dkillick on #2206.
Locking at the iris plot level will not guarantee to the user thread-safe plotting. In certain circumstances there is still the possibility of an iris plot using an mpl figure from a different thread. In the case of #2206, the implementation introduced a locking mechanism at the iris plotting api level, which is in fact at too low a level.
If a user insists on using iris plotting in a threaded context, then we should advocate that they take responsibility for locking themselves (which, to be fair, is pretty simple to do) in combination with creating the target mpl figure/axes (within the safety of the locked critical region).
Note that, for clarity, we do require to maintain non re-entrant locking at the individual graphics test case level in order to avoid the issues raised in #2195.
Closes #2210.