mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Update.
2001-12-13 Thorsten Kukuk <kukuk@suse.de> * sysdeps/posix/cuserid.c (cuserid): If we don't find the UID, but have a user supplied buffer, return the empty buffer, not NULL.
This commit is contained in:
parent
0838e0b926
commit
9b63f5b4fa
@ -1,3 +1,8 @@
|
||||
2001-12-13 Thorsten Kukuk <kukuk@suse.de>
|
||||
|
||||
* sysdeps/posix/cuserid.c (cuserid): If we don't find the UID,
|
||||
but have a user supplied buffer, return the empty buffer, not NULL.
|
||||
|
||||
2001-12-13 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* crypt/md5.c (md5_process_bytes): Correct handling of alignment.
|
||||
|
@ -102,25 +102,28 @@ int pthread_key_delete(pthread_key_t key)
|
||||
|
||||
/* Set the value of the key to NULL in all running threads, so
|
||||
that if the key is reallocated later by pthread_key_create, its
|
||||
associated values will be NULL in all threads. */
|
||||
associated values will be NULL in all threads.
|
||||
|
||||
{
|
||||
struct pthread_key_delete_helper_args args;
|
||||
struct pthread_request request;
|
||||
Do nothing if no threads have been created yet. */
|
||||
|
||||
args.idx1st = key / PTHREAD_KEY_2NDLEVEL_SIZE;
|
||||
args.idx2nd = key % PTHREAD_KEY_2NDLEVEL_SIZE;
|
||||
args.self = 0;
|
||||
if (__pthread_manager_request != -1)
|
||||
{
|
||||
struct pthread_key_delete_helper_args args;
|
||||
struct pthread_request request;
|
||||
|
||||
request.req_thread = self;
|
||||
request.req_kind = REQ_FOR_EACH_THREAD;
|
||||
request.req_args.for_each.arg = &args;
|
||||
request.req_args.for_each.fn = pthread_key_delete_helper;
|
||||
args.idx1st = key / PTHREAD_KEY_2NDLEVEL_SIZE;
|
||||
args.idx2nd = key % PTHREAD_KEY_2NDLEVEL_SIZE;
|
||||
args.self = 0;
|
||||
|
||||
TEMP_FAILURE_RETRY(__libc_write(__pthread_manager_request,
|
||||
(char *) &request, sizeof(request)));
|
||||
suspend(self);
|
||||
}
|
||||
request.req_thread = self;
|
||||
request.req_kind = REQ_FOR_EACH_THREAD;
|
||||
request.req_args.for_each.arg = &args;
|
||||
request.req_args.for_each.fn = pthread_key_delete_helper;
|
||||
|
||||
TEMP_FAILURE_RETRY(__libc_write(__pthread_manager_request,
|
||||
(char *) &request, sizeof(request)));
|
||||
suspend(self);
|
||||
}
|
||||
|
||||
pthread_mutex_unlock(&pthread_keys_mutex);
|
||||
return 0;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1996, 1998, 1999 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 1996, 1998, 1999, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -39,7 +39,7 @@ cuserid (s)
|
||||
{
|
||||
if (s != NULL)
|
||||
s[0] = '\0';
|
||||
return NULL;
|
||||
return s;
|
||||
}
|
||||
|
||||
if (s == NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user