mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-12-19 01:19:41 +08:00
Add call_function_later to DAP
This adds a new call_function_later API to DAP. This arranges to run a function after the current request has completed. This isn't used yet, but will be at the end of this series. Reviewed-by: Kévin Le Gouguec <legouguec@adacore.com>
This commit is contained in:
@@ -281,6 +281,12 @@ class Server:
|
||||
return
|
||||
self.send_event(event, body)
|
||||
|
||||
@in_dap_thread
|
||||
def call_function_later(self, fn):
|
||||
"""Call FN later -- after the current request's response has been sent."""
|
||||
with self.delayed_fns_lock:
|
||||
self.delayed_fns.append(fn)
|
||||
|
||||
# Note that this does not need to be run in any particular thread,
|
||||
# because it just creates an object and writes it to a thread-safe
|
||||
# queue.
|
||||
@@ -321,6 +327,12 @@ def send_event_maybe_later(event, body=None):
|
||||
_server.send_event_maybe_later(event, body)
|
||||
|
||||
|
||||
def call_function_later(fn):
|
||||
"""Call FN later -- after the current request's response has been sent."""
|
||||
global _server
|
||||
_server.call_function_later(fn)
|
||||
|
||||
|
||||
# A helper decorator that checks whether the inferior is running.
|
||||
def _check_not_running(func):
|
||||
@functools.wraps(func)
|
||||
|
||||
Reference in New Issue
Block a user