return 0;
}
-static void
+static void attribute_noreturn
__res_iclose(void)
{
__UCLIBC_MUTEX_LOCK(__resolv_lock);
}
#endif
memset(&_res, 0, sizeof(_res));
- __UCLIBC_MUTEX_UNLOCK(__resolv_lock);
+ /* the loop is only to make gcc happy */
+ while(1)
+ __UCLIBC_MUTEX_UNLOCK(__resolv_lock);
}
/*
#include <pthread.h>
-
+void __pthread_cleanup_routine (struct __pthread_cleanup_frame *f);
void
__pthread_cleanup_routine (struct __pthread_cleanup_frame *f)
{
#include <jmpbuf-unwind.h>
void
-attribute_protected
+/*does not apply due to hidden_proto(): attribute_protected*/
__pthread_cleanup_upto (__jmp_buf target, char *targetframe)
{
struct pthread *self = THREAD_SELF;
}
-static int
+static int attribute_noreturn
start_thread (void *arg)
{
struct pthread *pd = (struct pthread *) arg;
void
-attribute_protected
+attribute_protected attribute_noreturn
__pthread_exit (void* value)
{
THREAD_SETMEM (THREAD_SELF, result, value);
#include "pthreadP.h"
-void *
attribute_protected
+void *
__pthread_getspecific (pthread_key_t key)
{
struct pthread_key_data *data;
function the compiler is free to decide inlining the change when
needed or fall back on the copy which must exist somewhere
else. */
+void __pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame);
__extern_inline void
__pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame)
{
/* Helper thread. */
-static void *
+static attribute_noreturn void *
helper_thread (void *arg)
{
while (1)
/* Helper function to support starting threads for SIGEV_THREAD. */
-static void *
+static attribute_noreturn void *
timer_helper_thread (void *arg)
{
/* Wait for the SIGTIMER signal, allowing the setXid signal, and
}
-static void
+static attribute_noreturn void
unwind_cleanup (_Unwind_Reason_Code reason, struct _Unwind_Exception *exc)
{
/* When we get here a C++ catch block didn't rethrow the object. We
void
-attribute_protected
+/*does not apply due to hidden_proto(): attribute_protected*/
__cleanup_fct_attribute __attribute ((noreturn))
#if !defined SHARED && !defined IS_IN_libpthread
weak_function