From c8141d994e34babad60b3bb13f3b96636ce4d563 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Thu, 11 Jan 2007 22:39:13 +0000 Subject: Peter Mazinger pointed out that my last commit was faulty. This should fix it. --- libpthread/linuxthreads.old/forward.c | 2 ++ libpthread/linuxthreads.old/pthread.c | 2 ++ libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h | 5 ++++- 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'libpthread/linuxthreads.old') diff --git a/libpthread/linuxthreads.old/forward.c b/libpthread/linuxthreads.old/forward.c index 87101a15b..2cd019651 100644 --- a/libpthread/linuxthreads.old/forward.c +++ b/libpthread/linuxthreads.old/forward.c @@ -140,5 +140,7 @@ FORWARD (pthread_setcancelstate, (int state, int *oldstate), (state, oldstate), 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_push_defer, 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) +FORWARD2 (_pthread_cleanup_pop_restore, void, (struct _pthread_cleanup_buffer * buffer, int execute), (buffer, execute), return) diff --git a/libpthread/linuxthreads.old/pthread.c b/libpthread/linuxthreads.old/pthread.c index 2efb4d2d4..19e826515 100644 --- a/libpthread/linuxthreads.old/pthread.c +++ b/libpthread/linuxthreads.old/pthread.c @@ -336,6 +336,8 @@ struct pthread_functions __pthread_functions = .ptr__pthread_cleanup_push = _pthread_cleanup_push, .ptr__pthread_cleanup_pop = _pthread_cleanup_pop */ + .ptr__pthread_cleanup_push_defer = _pthread_cleanup_push_defer, + .ptr__pthread_cleanup_pop_restore = _pthread_cleanup_pop_restore, }; #ifdef SHARED # define ptr_pthread_functions &__pthread_functions diff --git a/libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h b/libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h index 846dc425b..ce6d10fba 100644 --- a/libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h +++ b/libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h @@ -84,9 +84,12 @@ struct pthread_functions const struct timespec *); void (*ptr__pthread_cleanup_push) (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg); - + void (*ptr__pthread_cleanup_push_defer) (struct _pthread_cleanup_buffer * buffer, + void (*routine)(void *), void * arg); void (*ptr__pthread_cleanup_pop) (struct _pthread_cleanup_buffer * buffer, int execute); + void (*ptr__pthread_cleanup_pop_restore) (struct _pthread_cleanup_buffer * buffer, + int execute); }; /* Variable in libc.so. */ -- cgit v1.2.3