-
Notifications
You must be signed in to change notification settings - Fork 92
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
Fix F1 for help in Python #5405
Conversation
@@ -87,7 +87,7 @@ class PositronComm: | |||
|
|||
def __init__(self, comm: comm.base_comm.BaseComm) -> None: | |||
self.comm = comm | |||
self.send_lock = threading.Lock() | |||
self.send_lock = threading.RLock() |
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.
This is the actual fix. The rest is to update the help tests to use the PositronComm
instead of the base comm to be able to catch bugs like this one.
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.
LGTM pending green CI! Works locally as expected 👍
Ah, looks like |
f699e89
to
31c0410
Compare
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.
+1
from errors noted in #5405 ; macos-12 has been deprecated actions/runner-images#10721
Thanks for getting this merged @wesm & @isabelizimm! |
Addresses #5290. The issue was a deadlock when handling the
show_help_topic
request when it tries to send theshow_help
event, since bothPositronComm.on_msg
andsend_event
acquire the same lock.@wesm IIUC the purpose was to allow delaying a
send_event
call in a separate thread until after the message handler completes. I think both cases are solved by using a reentrant lock (RLock()
).QA Notes
F1 should work again in Python.