diff options
Diffstat (limited to 'resolv/gai_misc.c')
-rw-r--r-- | resolv/gai_misc.c | 32 |
1 files changed, 8 insertions, 24 deletions
diff --git a/resolv/gai_misc.c b/resolv/gai_misc.c index 2eec0f529d..b3334f38ef 100644 --- a/resolv/gai_misc.c +++ b/resolv/gai_misc.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2006 Free Software Foundation, Inc. +/* Copyright (C) 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. @@ -23,31 +23,10 @@ #include <stdlib.h> #include <sys/time.h> -#include <gai_misc.h> +#include "gai_misc.h" -#ifndef gai_create_helper_thread -# define gai_create_helper_thread __gai_create_helper_thread - -extern inline int -__gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), - void *arg) -{ - pthread_attr_t attr; - - /* Make sure the thread is created detached. */ - pthread_attr_init (&attr); - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); - - int ret = pthread_create (threadp, &attr, tf, arg); - - (void) pthread_attr_destroy (&attr); - return ret; -} -#endif - - /* Pool of request list entries. */ static struct requestlist **pool; @@ -250,11 +229,16 @@ __gai_enqueue_request (struct gaicb *gaicbp) if (nthreads < optim.gai_threads && idle_thread_count == 0) { pthread_t thid; + pthread_attr_t attr; newp->running = 1; + /* Make sure the thread is created detached. */ + pthread_attr_init (&attr); + pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); + /* Now try to start a thread. */ - if (gai_create_helper_thread (&thid, handle_requests, newp) == 0) + if (pthread_create (&thid, &attr, handle_requests, newp) == 0) /* We managed to enqueue the request. All errors which can happen now can be recognized by calls to `gai_error'. */ ++nthreads; |