summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads.old
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2007-01-11 22:39:13 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2007-01-11 22:39:13 +0000
commitc8141d994e34babad60b3bb13f3b96636ce4d563 (patch)
tree483dd165228f95400d6dfb48cedbb7f4e49058e5 /libpthread/linuxthreads.old
parent3560961878b15be5ecad9cb0ea61cfb17f1da990 (diff)
Peter Mazinger pointed out that my last commit was faulty.
This should fix it.
Diffstat (limited to 'libpthread/linuxthreads.old')
-rw-r--r--libpthread/linuxthreads.old/forward.c2
-rw-r--r--libpthread/linuxthreads.old/pthread.c2
-rw-r--r--libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h5
3 files changed, 8 insertions, 1 deletions
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. */