Refactor DAP queue handling
A couple of spots in the DAP code use the same workaround for the absence of queue.SimpleQueue before Python 3.6. This patch consolidates these into a single spot.
This commit is contained in:
parent
d80aef339f
commit
587a1031aa
@ -16,12 +16,11 @@
|
||||
import functools
|
||||
import inspect
|
||||
import json
|
||||
import queue
|
||||
import sys
|
||||
|
||||
from .io import start_json_writer, read_json
|
||||
from .startup import (
|
||||
exec_and_log,
|
||||
DAPQueue,
|
||||
in_dap_thread,
|
||||
in_gdb_thread,
|
||||
send_gdb,
|
||||
@ -54,10 +53,7 @@ class Server:
|
||||
# This queue accepts JSON objects that are then sent to the
|
||||
# DAP client. Writing is done in a separate thread to avoid
|
||||
# blocking the read loop.
|
||||
if sys.version_info[0] == 3 and sys.version_info[1] <= 6:
|
||||
self.write_queue = queue.Queue()
|
||||
else:
|
||||
self.write_queue = queue.SimpleQueue()
|
||||
self.write_queue = DAPQueue()
|
||||
self.done = False
|
||||
global _server
|
||||
_server = self
|
||||
|
@ -23,6 +23,14 @@ import traceback
|
||||
import sys
|
||||
|
||||
|
||||
# Adapt to different Queue types. This is exported for use in other
|
||||
# modules as well.
|
||||
if sys.version_info[0] == 3 and sys.version_info[1] <= 6:
|
||||
DAPQueue = queue.Queue
|
||||
else:
|
||||
DAPQueue = queue.SimpleQueue
|
||||
|
||||
|
||||
# The GDB thread, aka the main thread.
|
||||
_gdb_thread = threading.current_thread()
|
||||
|
||||
@ -158,10 +166,7 @@ def send_gdb_with_response(fn):
|
||||
"""
|
||||
if isinstance(fn, str):
|
||||
fn = Invoker(fn)
|
||||
if sys.version_info[0] == 3 and sys.version_info[1] <= 6:
|
||||
result_q = queue.Queue()
|
||||
else:
|
||||
result_q = queue.SimpleQueue()
|
||||
result_q = DAPQueue()
|
||||
|
||||
def message():
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user