summary refs log tree commit diff
path: root/nscd/pwdcache.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-01-31 12:11:10 +0000
committerUlrich Drepper <drepper@redhat.com>1998-01-31 12:11:10 +0000
commit4d06461a76587c80359f6db5e1c6e4f4641d2663 (patch)
tree50f8b63101860d3e414a4b1276e49c8e26469453 /nscd/pwdcache.c
parentd67281a7eac124e2f1b498c377dde3432f711039 (diff)
downloadglibc-4d06461a76587c80359f6db5e1c6e4f4641d2663.tar.gz
glibc-4d06461a76587c80359f6db5e1c6e4f4641d2663.tar.xz
glibc-4d06461a76587c80359f6db5e1c6e4f4641d2663.zip
Update.
1998-01-31 20:52  Ulrich Drepper  <drepper@cygnus.com>

	* nscd/grpcache.c (cache_grpinit): Let calloc do the multiplication.

	* nscd/pwdcache.c (cache_pwdinit): Use thread attribute to detach
	thread and no pthread_detach.

	* nscd/nscd.c: Rewrite to use argp instead of getopt.

	* config.make.in: Likewise.
Diffstat (limited to 'nscd/pwdcache.c')
-rw-r--r--nscd/pwdcache.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
index a3676666da..82a26efc25 100644
--- a/nscd/pwdcache.c
+++ b/nscd/pwdcache.c
@@ -103,6 +103,7 @@ set_neg_pwd_ttl (unsigned long int ttl)
 int
 cache_pwdinit ()
 {
+  pthread_attr_t attr;
   pthread_t thread;
 
   pwdtbl = calloc (modulo, sizeof (pwdhash));
@@ -115,10 +116,14 @@ cache_pwdinit ()
   if (negtbl == NULL)
     return -1;
 
-  pthread_create (&thread, NULL, pwdtable_update, (void *)NULL);
-  pthread_detach (thread);
-  pthread_create (&thread, NULL, negtable_update, (void *)NULL);
-  pthread_detach (thread);
+  pthread_attr_init (&attr);
+  pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
+
+  pthread_create (&thread, NULL, pwdtable_update, &attr);
+  pthread_create (&thread, NULL, negtable_update, &attr);
+
+  pthread_attr_destroy (&attr);
+
   return 0;
 }