openocd: fix SPDX tag format for files .c
[fw/openocd] / src / server / server.c
index eeaa3d750ecff316041bafb0dfcb416c02948d36..2be90451f7a0d2395307aefdc67f902f2788a2ef 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
+// SPDX-License-Identifier: GPL-2.0-or-later
 
 /***************************************************************************
  *   Copyright (C) 2005 by Dominic Rath                                    *
@@ -473,7 +473,7 @@ int server_loop(struct command_context *command_context)
                        tv.tv_usec = 0;
                        retval = socket_select(fd_max + 1, &read_fds, NULL, NULL, &tv);
                } else {
-                       /* Every 100ms, can be changed with "poll_period" command */
+                       /* Timeout socket_select() when a target timer expires or every polling_period */
                        int timeout_ms = next_event - timeval_ms();
                        if (timeout_ms < 0)
                                timeout_ms = 0;
@@ -507,9 +507,12 @@ int server_loop(struct command_context *command_context)
                }
 
                if (retval == 0) {
-                       /* We only execute these callbacks when there was nothing to do or we timed
-                        *out */
-                       target_call_timer_callbacks_now();
+                       /* Execute callbacks of expired timers when
+                        * - there was nothing to do if poll_ok was true
+                        * - socket_select() timed out if poll_ok was false, now one or more
+                        *   timers expired or the polling period elapsed
+                        */
+                       target_call_timer_callbacks();
                        next_event = target_timer_next_event();
                        process_jim_events(command_context);
 
@@ -744,6 +747,11 @@ int connection_read(struct connection *connection, void *data, int len)
                return read(connection->fd, data, len);
 }
 
+bool openocd_is_shutdown_pending(void)
+{
+       return shutdown_openocd != CONTINUE_MAIN_LOOP;
+}
+
 /* tell the server we want to shut down */
 COMMAND_HANDLER(handle_shutdown_command)
 {