diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-09-23 04:41:29 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-09-23 04:41:29 +0000 |
commit | 571f2090f876fee3eb99fd141d6595e6bc45549c (patch) | |
tree | 754b93812c920bb3c3a5e62e4c092d80baa74825 | |
parent | 365b16029b0a6645fac11ff61de21ca0d23d223f (diff) | |
download | glibc-571f2090f876fee3eb99fd141d6595e6bc45549c.tar glibc-571f2090f876fee3eb99fd141d6595e6bc45549c.tar.gz glibc-571f2090f876fee3eb99fd141d6595e6bc45549c.tar.bz2 glibc-571f2090f876fee3eb99fd141d6595e6bc45549c.zip |
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.
-rw-r--r-- | linuxthreads/ChangeLog | 10 | ||||
-rw-r--r-- | linuxthreads/forward.c | 4 | ||||
-rw-r--r-- | linuxthreads/pthread.c | 4 | ||||
-rw-r--r-- | linuxthreads/sysdeps/pthread/bits/libc-lock.h | 14 | ||||
-rw-r--r-- | linuxthreads/sysdeps/pthread/pthread-functions.h | 5 | ||||
-rw-r--r-- | localedata/ChangeLog | 14 | ||||
-rw-r--r-- | localedata/locales/ca_ES | 6 | ||||
-rw-r--r-- | localedata/locales/eu_ES | 4 | ||||
-rw-r--r-- | localedata/locales/gl_ES | 4 |
9 files changed, 47 insertions, 18 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 62c05e256d..adbb233535 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -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. diff --git a/linuxthreads/forward.c b/linuxthreads/forward.c index 46cf53893e..b2a36d7d60 100644 --- a/linuxthreads/forward.c +++ b/linuxthreads/forward.c @@ -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) diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c index a6a2edac81..b3953542e0 100644 --- a/linuxthreads/pthread.c +++ b/linuxthreads/pthread.c @@ -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 diff --git a/linuxthreads/sysdeps/pthread/bits/libc-lock.h b/linuxthreads/sysdeps/pthread/bits/libc-lock.h index c0d0debe14..7e22166862 100644 --- a/linuxthreads/sysdeps/pthread/bits/libc-lock.h +++ b/linuxthreads/sysdeps/pthread/bits/libc-lock.h @@ -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) \ diff --git a/linuxthreads/sysdeps/pthread/pthread-functions.h b/linuxthreads/sysdeps/pthread/pthread-functions.h index deade5c981..43a328ae9c 100644 --- a/linuxthreads/sysdeps/pthread/pthread-functions.h +++ b/linuxthreads/sysdeps/pthread/pthread-functions.h @@ -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. */ diff --git a/localedata/ChangeLog b/localedata/ChangeLog index dbe894167a..0458879d70 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -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. diff --git a/localedata/locales/ca_ES b/localedata/locales/ca_ES index 4161efffd6..fce51fd41c 100644 --- a/localedata/locales/ca_ES +++ b/localedata/locales/ca_ES @@ -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 diff --git a/localedata/locales/eu_ES b/localedata/locales/eu_ES index bb981b0046..412ebcaa95 100644 --- a/localedata/locales/eu_ES +++ b/localedata/locales/eu_ES @@ -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 diff --git a/localedata/locales/gl_ES b/localedata/locales/gl_ES index 28c5e9ac69..01cf406c57 100644 --- a/localedata/locales/gl_ES +++ b/localedata/locales/gl_ES @@ -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 |