Update.
2003-09-22 Philip Blundell <philb@gnu.org> * forward.c: Add _pthread_cleanup_push, _pthread_cleanup_pop. * sysdeps/pthread/pthread-functions.h (struct pthread_functions): Likewise. * pthread.c (__pthread_elements): Initialise these new elements. * sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_push): Use __libc_maybe_call. (__libc_cleanup_pop): Likewise.
This commit is contained in:
parent
365b16029b
commit
571f2090f8
@ -1,3 +1,13 @@
|
||||
2003-09-22 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* forward.c: Add _pthread_cleanup_push, _pthread_cleanup_pop.
|
||||
* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
|
||||
Likewise.
|
||||
* pthread.c (__pthread_elements): Initialise these new elements.
|
||||
* sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_push): Use
|
||||
__libc_maybe_call.
|
||||
(__libc_cleanup_pop): Likewise.
|
||||
|
||||
2003-09-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* attr.c: Include stdlib.h.
|
||||
|
@ -173,3 +173,7 @@ FORWARD (pthread_setcancelstate, (int state, int *oldstate), (state, oldstate),
|
||||
0)
|
||||
|
||||
FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0)
|
||||
|
||||
FORWARD2 (_pthread_cleanup_push, void, (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg), (buffer, routine, arg), return)
|
||||
|
||||
FORWARD2 (_pthread_cleanup_pop, void, (struct _pthread_cleanup_buffer * buffer, int execute), (buffer, execute), return)
|
||||
|
@ -279,7 +279,9 @@ struct pthread_functions __pthread_functions =
|
||||
.ptr_pthread_cleanup_upto = __pthread_cleanup_upto,
|
||||
.ptr_pthread_sigaction = __pthread_sigaction,
|
||||
.ptr_pthread_sigwait = __pthread_sigwait,
|
||||
.ptr_pthread_raise = __pthread_raise
|
||||
.ptr_pthread_raise = __pthread_raise,
|
||||
.ptr__pthread_cleanup_push = _pthread_cleanup_push,
|
||||
.ptr__pthread_cleanup_pop = _pthread_cleanup_pop
|
||||
};
|
||||
#ifdef SHARED
|
||||
# define ptr_pthread_functions &__pthread_functions
|
||||
|
@ -265,18 +265,12 @@ typedef pthread_key_t __libc_key_t;
|
||||
}
|
||||
|
||||
#define __libc_cleanup_push(fct, arg) \
|
||||
{ struct _pthread_cleanup_buffer _buffer; \
|
||||
int _avail = _pthread_cleanup_push != NULL; \
|
||||
if (_avail) { \
|
||||
_pthread_cleanup_push (&_buffer, (fct), (arg)); \
|
||||
}
|
||||
{ struct _pthread_cleanup_buffer _buffer; \
|
||||
__libc_maybe_call (_pthread_cleanup_push, (&_buffer, (fct), (arg)), 0)
|
||||
|
||||
#define __libc_cleanup_pop(execute) \
|
||||
if (_avail) { \
|
||||
_pthread_cleanup_pop (&_buffer, execute); \
|
||||
} \
|
||||
}
|
||||
|
||||
__libc_maybe_call (_pthread_cleanup_pop, (&_buffer, execute), 0); \
|
||||
}
|
||||
|
||||
/* Create thread-specific key. */
|
||||
#define __libc_key_create(KEY, DESTRUCTOR) \
|
||||
|
@ -83,6 +83,11 @@ struct pthread_functions
|
||||
int (*ptr_pthread_raise) (int sig);
|
||||
int (*ptr___pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_t *,
|
||||
const struct timespec *);
|
||||
void (*ptr__pthread_cleanup_push) (struct _pthread_cleanup_buffer * buffer,
|
||||
void (*routine)(void *), void * arg);
|
||||
|
||||
void (*ptr__pthread_cleanup_pop) (struct _pthread_cleanup_buffer * buffer,
|
||||
int execute);
|
||||
};
|
||||
|
||||
/* Variable in libc.so. */
|
||||
|
@ -1,3 +1,17 @@
|
||||
2003-09-21 Jordi Mallach <jordi@gnu.org>
|
||||
|
||||
* locales/ca_ES: Fix mon_grouping, int_frac_digits and frac_digits
|
||||
values.
|
||||
* locales/eu_ES: Fix int_frac_digits and frac_digits values.
|
||||
* locales/gl_ES: Likewise.
|
||||
|
||||
2003-09-21 Jordi Mallach <jordi@gnu.org>
|
||||
|
||||
* locales/ca_ES: Fix mon_grouping, int_frac_digits and frac_digits
|
||||
values.
|
||||
* locales/eu_ES: Fix int_frac_digits and frac_digits values.
|
||||
* locales/gl_ES: Likewise.
|
||||
|
||||
2003-09-17 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* locales/lo_LA: Fix duplicated collation entries.
|
||||
|
@ -2124,11 +2124,11 @@ int_curr_symbol "<U0045><U0055><U0052><U0020>"
|
||||
currency_symbol "<U20AC>"
|
||||
mon_decimal_point "<U002C>"
|
||||
mon_thousands_sep "<U002E>"
|
||||
mon_grouping 2;3
|
||||
mon_grouping 3;3
|
||||
positive_sign ""
|
||||
negative_sign "<U002D>"
|
||||
int_frac_digits 0
|
||||
frac_digits 0
|
||||
int_frac_digits 2
|
||||
frac_digits 2
|
||||
p_cs_precedes 1
|
||||
p_sep_by_space 1
|
||||
n_cs_precedes 1
|
||||
|
@ -71,8 +71,8 @@ mon_thousands_sep "<U002E>"
|
||||
mon_grouping 3;3
|
||||
positive_sign ""
|
||||
negative_sign "<U002D>"
|
||||
int_frac_digits 0
|
||||
frac_digits 0
|
||||
int_frac_digits 2
|
||||
frac_digits 2
|
||||
p_cs_precedes 1
|
||||
p_sep_by_space 1
|
||||
n_cs_precedes 1
|
||||
|
@ -67,8 +67,8 @@ mon_thousands_sep "<U002E>"
|
||||
mon_grouping 3;3
|
||||
positive_sign ""
|
||||
negative_sign "<U002D>"
|
||||
int_frac_digits 0
|
||||
frac_digits 0
|
||||
int_frac_digits 2
|
||||
frac_digits 2
|
||||
p_cs_precedes 1
|
||||
p_sep_by_space 1
|
||||
n_cs_precedes 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user