mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-18 12:16:13 +08:00
Update.
* manager.c (__pthread_manager): Add noreturn attribute. (pthread_start_thread): Likewise, remove return statement. (pthread_start_thread_event): Likewise. Add noreturn attribute for pthread_handle_exit. * weaks.c: Add noreturn attribute for pthread_exit.
This commit is contained in:
parent
e6dcf35202
commit
159a2e1a65
@ -1,5 +1,12 @@
|
|||||||
2001-04-21 Andreas Jaeger <aj@suse.de>
|
2001-04-21 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
|
* manager.c (__pthread_manager): Add noreturn
|
||||||
|
attribute.
|
||||||
|
(pthread_start_thread): Likewise, remove return statement.
|
||||||
|
(pthread_start_thread_event): Likewise.
|
||||||
|
Add noreturn attribute for pthread_handle_exit.
|
||||||
|
* weaks.c: Add noreturn attribute for pthread_exit.
|
||||||
|
|
||||||
* internals.h: Add __pthread_clock_gettime and
|
* internals.h: Add __pthread_clock_gettime and
|
||||||
__pthread_clock_settime prototypes.
|
__pthread_clock_settime prototypes.
|
||||||
|
|
||||||
|
@ -96,13 +96,16 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr,
|
|||||||
int report_events,
|
int report_events,
|
||||||
td_thr_events_t *event_maskp);
|
td_thr_events_t *event_maskp);
|
||||||
static void pthread_handle_free(pthread_t th_id);
|
static void pthread_handle_free(pthread_t th_id);
|
||||||
static void pthread_handle_exit(pthread_descr issuing_thread, int exitcode);
|
static void pthread_handle_exit(pthread_descr issuing_thread, int exitcode)
|
||||||
|
__attribute__ ((noreturn));
|
||||||
static void pthread_reap_children(void);
|
static void pthread_reap_children(void);
|
||||||
static void pthread_kill_all_threads(int sig, int main_thread_also);
|
static void pthread_kill_all_threads(int sig, int main_thread_also);
|
||||||
|
|
||||||
/* The server thread managing requests for thread creation and termination */
|
/* The server thread managing requests for thread creation and termination */
|
||||||
|
|
||||||
int __pthread_manager(void *arg)
|
int
|
||||||
|
__attribute__ ((noreturn))
|
||||||
|
__pthread_manager(void *arg)
|
||||||
{
|
{
|
||||||
int reqfd = (int) (long int) arg;
|
int reqfd = (int) (long int) arg;
|
||||||
struct pollfd ufd;
|
struct pollfd ufd;
|
||||||
@ -220,7 +223,9 @@ int __pthread_manager_event(void *arg)
|
|||||||
|
|
||||||
/* Process creation */
|
/* Process creation */
|
||||||
|
|
||||||
static int pthread_start_thread(void *arg)
|
static int
|
||||||
|
__attribute__ ((noreturn))
|
||||||
|
pthread_start_thread(void *arg)
|
||||||
{
|
{
|
||||||
pthread_descr self = (pthread_descr) arg;
|
pthread_descr self = (pthread_descr) arg;
|
||||||
struct pthread_request request;
|
struct pthread_request request;
|
||||||
@ -270,10 +275,11 @@ static int pthread_start_thread(void *arg)
|
|||||||
p_start_args.arg));
|
p_start_args.arg));
|
||||||
/* Exit with the given return value */
|
/* Exit with the given return value */
|
||||||
__pthread_do_exit(outcome, CURRENT_STACK_FRAME);
|
__pthread_do_exit(outcome, CURRENT_STACK_FRAME);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pthread_start_thread_event(void *arg)
|
static int
|
||||||
|
__attribute__ ((noreturn))
|
||||||
|
pthread_start_thread_event(void *arg)
|
||||||
{
|
{
|
||||||
pthread_descr self = (pthread_descr) arg;
|
pthread_descr self = (pthread_descr) arg;
|
||||||
|
|
||||||
@ -289,7 +295,7 @@ static int pthread_start_thread_event(void *arg)
|
|||||||
__pthread_unlock (THREAD_GETMEM(self, p_lock));
|
__pthread_unlock (THREAD_GETMEM(self, p_lock));
|
||||||
|
|
||||||
/* Continue with the real function. */
|
/* Continue with the real function. */
|
||||||
return pthread_start_thread (arg);
|
pthread_start_thread (arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pthread_allocate_stack(const pthread_attr_t *attr,
|
static int pthread_allocate_stack(const pthread_attr_t *attr,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* The weak pthread functions for Linux.
|
/* The weak pthread functions for Linux.
|
||||||
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -26,7 +26,8 @@
|
|||||||
extern int __pthread_return_0 (void);
|
extern int __pthread_return_0 (void);
|
||||||
extern int __pthread_return_1 (void);
|
extern int __pthread_return_1 (void);
|
||||||
extern void __pthread_return_void (void);
|
extern void __pthread_return_void (void);
|
||||||
extern void weak_function pthread_exit (void *__retval);
|
extern void weak_function pthread_exit (void *__retval)
|
||||||
|
__attribute__ ((noreturn));
|
||||||
|
|
||||||
/* Those are pthread functions which return 0 if successful. */
|
/* Those are pthread functions which return 0 if successful. */
|
||||||
weak_alias (__pthread_return_0, BP_SYM (__libc_pthread_attr_init_2_1))
|
weak_alias (__pthread_return_0, BP_SYM (__libc_pthread_attr_init_2_1))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Standard debugging hooks for `malloc'.
|
/* Standard debugging hooks for `malloc'.
|
||||||
Copyright (C) 1990-1997, 1999, 2000 Free Software Foundation, Inc.
|
Copyright (C) 1990-1997, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||||
Written May 1989 by Mike Haertel.
|
Written May 1989 by Mike Haertel.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
@ -270,7 +270,8 @@ reallochook (ptr, size, caller)
|
|||||||
return (__ptr_t) (hdr + 1);
|
return (__ptr_t) (hdr + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mabort __P ((enum mcheck_status status));
|
static void mabort __P ((enum mcheck_status status))
|
||||||
|
__attribute__ ((noreturn));
|
||||||
static void
|
static void
|
||||||
mabort (status)
|
mabort (status)
|
||||||
enum mcheck_status status;
|
enum mcheck_status status;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* obstack.c - subroutines used implicitly by object stack macros
|
/* obstack.c - subroutines used implicitly by object stack macros
|
||||||
Copyright (C) 1988-1994,96,97,98,99,2000 Free Software Foundation, Inc.
|
Copyright (C) 1988-1994,96,97,98,99,2000,2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of the GNU C Library. Its master source is NOT part of
|
This file is part of the GNU C Library. Its master source is NOT part of
|
||||||
the C library, however. The master source lives in /gd/gnu/lib.
|
the C library, however. The master source lives in /gd/gnu/lib.
|
||||||
@ -472,6 +472,7 @@ _obstack_memory_used (h)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
__attribute__ ((noreturn))
|
||||||
print_and_abort ()
|
print_and_abort ()
|
||||||
{
|
{
|
||||||
fputs (_("memory exhausted"), stderr);
|
fputs (_("memory exhausted"), stderr);
|
||||||
|
@ -281,6 +281,7 @@ __gai_enqueue_request (struct gaicb *gaicbp)
|
|||||||
|
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
|
__attribute__ ((noreturn))
|
||||||
handle_requests (void *arg)
|
handle_requests (void *arg)
|
||||||
{
|
{
|
||||||
struct requestlist *runp = (struct requestlist *) arg;
|
struct requestlist *runp = (struct requestlist *) arg;
|
||||||
|
@ -454,6 +454,7 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation)
|
|||||||
|
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
|
__attribute__ ((noreturn))
|
||||||
handle_fildes_io (void *arg)
|
handle_fildes_io (void *arg)
|
||||||
{
|
{
|
||||||
pthread_t self = pthread_self ();
|
pthread_t self = pthread_self ();
|
||||||
|
Loading…
Reference in New Issue
Block a user