about summary refs log tree commit diff
path: root/nptl/pthreadP.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-12-08 03:13:06 +0000
committerUlrich Drepper <drepper@redhat.com>2002-12-08 03:13:06 +0000
commit09efc3ba1269f79b78ee0724501fc762c2d5ab49 (patch)
tree840ca5c526b221f3510f23b1f17c9e379b84129f /nptl/pthreadP.h
parent6ccb3834ebf1cb65d180144442a68cd1c24f1dd5 (diff)
downloadglibc-09efc3ba1269f79b78ee0724501fc762c2d5ab49.tar.gz
glibc-09efc3ba1269f79b78ee0724501fc762c2d5ab49.tar.xz
glibc-09efc3ba1269f79b78ee0724501fc762c2d5ab49.zip
Update.
2002-12-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/bits/stdio-lock.h (_IO_lock_trylock): New define.
Diffstat (limited to 'nptl/pthreadP.h')
-rw-r--r--nptl/pthreadP.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index c6c1e49a53..74243d1382 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -80,10 +80,10 @@ extern int __pthread_debug attribute_hidden;
 
 /* Set cancellation mode to asynchronous.  */
 #define CANCEL_ASYNC(oldtype) \
-  pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype)
+  __pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype)
 /* Reset to previous cancellation mode.  */
 #define CANCEL_RESET(oldtype) \
-  pthread_setcanceltype (oldtype, NULL)
+  __pthread_setcanceltype (oldtype, NULL)
 
 /* Function performing the cancellation.  */
 extern void __do_cancel (char *currentframe)
@@ -147,7 +147,9 @@ extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
 extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
 extern int __pthread_mutex_trylock (pthread_mutex_t *_mutex);
 extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
+extern int __pthread_mutex_lock_internal (pthread_mutex_t *__mutex);
 extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
+extern int __pthread_mutex_unlock_internal (pthread_mutex_t *__mutex);
 extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr);
 extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr);
 extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind);
@@ -179,7 +181,26 @@ extern void *__pthread_getspecific (pthread_key_t key);
 extern int __pthread_setspecific (pthread_key_t key, const void *value);
 extern int __pthread_once (pthread_once_t *once_control,
 			   void (*init_routine) (void));
+extern int __pthread_once_internal (pthread_once_t *once_control,
+				    void (*init_routine) (void));
 extern int __pthread_atfork (void (*prepare) (void), void (*parent) (void),
 			     void (*child) (void));
+extern int __pthread_kill (pthread_t threadid, int signo);
+extern int __pthread_setcanceltype (int type, int *oldtype);
+
+/* Special versions which use non-exported functions.  */
+extern void _GI_pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
+				      void (*routine) (void *), void *arg)
+     attribute_hidden;
+#undef pthread_cleanup_push
+#define pthread_cleanup_push(routine,arg) \
+  { struct _pthread_cleanup_buffer _buffer;				      \
+    _GI_pthread_cleanup_push (&_buffer, (routine), (arg));
+
+extern void _GI_pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer,
+				     int execute) attribute_hidden;
+#undef pthread_cleanup_pop
+#define pthread_cleanup_pop(execute) \
+    _GI_pthread_cleanup_pop (&_buffer, (execute)); }
 
 #endif	/* pthreadP.h */