-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Make Tkagg blit thread safe #18565
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
Merged
timhoffm
merged 19 commits into
matplotlib:master
from
richardsheridan:tk_blit_thread_safe
Nov 2, 2020
Merged
Make Tkagg blit thread safe #18565
Changes from 15 commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
0dcdd21
WIP: Try to make tkagg blitting threadsafe
richardsheridan 2ad422a
make tkagg blitting threadsafe
richardsheridan a4a920e
revert to unified blit code and prevent some races
richardsheridan 321b7a0
register _blit with Tcl without an extra widget
richardsheridan 24d2545
docstring
richardsheridan 7196d37
missing id argument
richardsheridan b63950e
make blank occur in same event as blit
richardsheridan 9180607
test for thread safety
richardsheridan e692b62
improve thread safety test
richardsheridan e201189
fix tcl errors by delaying the widget destruction
richardsheridan 8c979cc
blit docs & comments
richardsheridan 3463148
appease CI
richardsheridan fd97233
Split thread tests from other interactive tests
richardsheridan bbb82ac
ignore -> xfail for wx and macosx
richardsheridan 59d5c06
increase event loop time for CI, cleanup imports
richardsheridan 9255fb6
respond to comments
richardsheridan d1984c5
remove lingering threading import
richardsheridan 78a1e43
Apply suggestions from code review
richardsheridan 0b1660b
narrow TclError handling
richardsheridan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not directly initialize this to the final name here? e.g.
"mpl_blit_" + uuid.uuid4().hex
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love this idea, I always thought the initial name was tacky but for some reason I never came up with this fix!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a quick question, didn't we have a bug report come by recently because we were using one of the uuid functions, which was using a "weak" shasum algorithm, so their security-restricted system couldn't compute it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In a pinch we could hardcode a uuid, they are universally unique after all...