[prev in list] [next in list] [prev in thread] [next in thread]
List: openocd-development
Subject: [PATCH]: 114123ab42 gdb_server: drop useless check in gdb_keep_client_alive()
From: gerrit () openocd ! org
Date: 2024-02-26 17:16:31
Message-ID: 20240226171631.79946194 () openocd ! org
[Download RAW message or body]
This is an automated email from Gerrit.
"Antonio Borneo <borneo.antonio@gmail.com>" just uploaded a new patch set to Gerrit, \
which you can find at https://review.openocd.org/c/openocd/+/8166
-- gerrit
commit 114123ab42f5c6da5f222b45d410a10cd841370d
Author: Antonio Borneo <borneo.antonio@gmail.com>
Date: Sun Feb 25 23:03:27 2024 +0100
gdb_server: drop useless check in gdb_keep_client_alive()
OpenOCD can send it's log to gdb, and gdb replies with 'OK'.
Calls to LOG_XXX() are also present in the code that communicates
with gdb. This can cause infinite nested calls.
OpenOCD uses the flag 'gdb_con->busy' to protect the communication
with gdb and prevent nested calls.
There is no reason to check for 'gdb_con->busy' in the code for
keep-alive, as keep_alive() is never called in this gdb server;
the flag would eventually be set if the current keep_alive() will
send something to gdb.
Drop the flag 'gdb_con->busy' in gdb_keep_client_alive().
While there, document the use of 'gdb_con->busy'.
Change-Id: I1ea20bf96abb5d2f1fcdba1e3861df257c396bb6
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index 2eca3a6312..e992b210ab 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -73,6 +73,8 @@ struct gdb_connection {
enum target_state frontend_state;
struct image *vflash_image;
bool closed;
+ /* set to prevent re-entrance from log messages during gdb_get_packet()
+ * and gdb_put_packet(). */
bool busy;
int noack_mode;
/* set flag to true if you want the next stepi to return immediately.
@@ -3790,11 +3792,6 @@ static void gdb_keep_client_alive(struct connection \
*connection) {
struct gdb_connection *gdb_con = connection->priv;
- if (gdb_con->busy) {
- /* do not send packets, retry asap */
- return;
- }
-
switch (gdb_con->output_flag) {
case GDB_OUTPUT_NO:
/* no need for keep-alive */
--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic