diff --git a/src/server/server.c b/src/server/server.c index c70a52220..84ec1ac9b 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -29,6 +29,7 @@ #include "server.h" #include +#include #include "openocd.h" #include "tcl_server.h" #include "telnet_server.h" @@ -443,6 +444,13 @@ int server_loop(struct command_context *command_context) poll_ok = true; } + /* This is a simple back-off algorithm where we immediately + * re-poll if we did something this time around. + * + * This greatly improves performance of DCC. + */ + poll_ok = poll_ok || target_got_message(); + for (service = services; service; service = service->next) { /* handle new connections on listeners */