]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - resolv/gai_misc.c
hurd: Fix build
[thirdparty/glibc.git] / resolv / gai_misc.c
index 0244b20c696655c408b9d734dde636e21682ae7b..69d7086ae67da27736703060d74d4eb2b6650390 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
 
@@ -152,7 +152,6 @@ get_elem (void)
 
 
 struct requestlist *
-internal_function
 __gai_find_request (const struct gaicb *gaicbp)
 {
   struct requestlist *runp;
@@ -169,7 +168,6 @@ __gai_find_request (const struct gaicb *gaicbp)
 
 
 int
-internal_function
 __gai_remove_request (struct gaicb *gaicbp)
 {
   struct requestlist *runp;
@@ -212,7 +210,6 @@ static void *handle_requests (void *arg);
 /* The main function of the async I/O handling.  It enqueues requests
    and if necessary starts and handles threads.  */
 struct requestlist *
-internal_function
 __gai_enqueue_request (struct gaicb *gaicbp)
 {
   struct requestlist *newp;
@@ -264,8 +261,11 @@ __gai_enqueue_request (struct gaicb *gaicbp)
              /* We cannot create a thread in the moment and there is
                 also no thread running.  This is a problem.  `errno' is
                 set to EAGAIN if this is only a temporary problem.  */
-             assert (lastp->next == newp);
-             lastp->next = NULL;
+             assert (requests == newp || lastp->next == newp);
+             if (lastp != NULL)
+               lastp->next = NULL;
+             else
+               requests = NULL;
              requests_tail = lastp;
 
              newp->next = freelist;