]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
ntp_io.c:
authorFrank Kardel <kardel@ntp.org>
Sat, 7 Oct 2006 19:42:28 +0000 (19:42 +0000)
committerFrank Kardel <kardel@ntp.org>
Sat, 7 Oct 2006 19:42:28 +0000 (19:42 +0000)
  allow asyncio_readers to remove themselves when being run

bk: 45280324A419b-MWuelYUjU1hM0IIA

ntpd/ntp_io.c

index b3b70ae3fde5434c327fd2a78524a3e5aa7b9582..59cb367be3b8bcf82ac30904beea4e0d9ffc07ac 100644 (file)
@@ -3046,14 +3046,16 @@ input_handler(
        /*
         * scan list of asyncio readers - currently only used for routing sockets
         */
-       for (asyncio_reader = ISC_LIST_TAIL(asyncio_reader_list);
-            asyncio_reader != NULL;
-            asyncio_reader = ISC_LIST_PREV(asyncio_reader, link))
+       asyncio_reader = ISC_LIST_TAIL(asyncio_reader_list);
+
+       while (asyncio_reader != NULL)
        {
+               struct asyncio_reader *next = ISC_LIST_PREV(asyncio_reader, link);
                if (FD_ISSET(asyncio_reader->fd, &fds)) {
                        ++select_count;
                        asyncio_reader->receiver(asyncio_reader);
                }
+               asyncio_reader = next;
        }
 #endif /* HAS_ROUTING_SOCKET */