glibc/linuxthreads/Versions
Ulrich Drepper d82e4c7bb2 Update.
2000-06-25  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add ex10.  Add rules to build it.
	* Versions [GLIBC_2.2] (libpthread): Add pthread_mutex_timedlock,
	pthread_rwlock_timedrdlock, and pthread_rwlock_timedwrlock.
	* condvar.c (pthread_cond_wait): Allow mutex of kind
	PTHREAD_MUTEX_TIMED_NP.
	(pthread_cond_timedwait_relative): Likewise.
	* mutex.c (__pthread_mutex_init): Default is PTHREAD_MUTEX_TIMED_NP.
	(__pthread_mutex_trylock): Use __pthread_alt_trylock for
	PTHREAD_MUTEX_ERRORCHECK_NP.  Handle PTHREAD_MUTEX_TIMED_NP.
	(__pthread_mutex_lock): Use __pthread_alt_lock for
	PTHREAD_MUTEX_ERRORCHECK_NP.  Handle PTHREAD_MUTEX_TIMED_NP.
	(__pthread_mutex_timedlock): New function.
	(__pthread_mutex_unlock): Use __pthread_alt_unlock for
	PTHREAD_MUTEX_ERRORCHECK_NP.  Handle PTHREAD_MUTEX_TIMED_NP.
	(__pthread_mutexattr_init): Use PTHREAD_MUTEX_TIMED_NP.
	(__pthread_mutexattr_settype): Allow PTHREAD_MUTEX_TIMED_NP.
	* spinlock.c: Implement alternate fastlocks.
	* spinlock.h: Add prototypes.
	* Examples/ex10.c: New file.
	* sysdeps/pthread/pthread.h: Add prototypes for new functions.
	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.

	* rwlock.c (__pthread_rwlock_rdlock): Optimize loop a bit.
	(__pthread_rwlock_timedrdlock): New function.
	(__pthread_rwlock_timedwrlock): New function.
	Use laternate fastlock function everywhere.
2000-06-26 01:47:56 +00:00

151 lines
5.6 KiB
Plaintext

libc {
GLIBC_2.0 {
pthread_attr_destroy; pthread_attr_getdetachstate;
pthread_attr_getinheritsched; pthread_attr_getschedparam;
pthread_attr_getschedpolicy; pthread_attr_getscope; pthread_attr_init;
pthread_attr_setdetachstate; pthread_attr_setinheritsched;
pthread_attr_setschedparam; pthread_attr_setschedpolicy;
pthread_attr_setscope; pthread_cond_broadcast; pthread_cond_destroy;
pthread_cond_init; pthread_cond_signal; pthread_cond_wait;
pthread_condattr_destroy; pthread_condattr_init; pthread_equal;
pthread_exit; pthread_getschedparam; pthread_mutex_destroy;
pthread_mutex_init; pthread_mutex_lock; pthread_mutex_unlock;
pthread_mutexattr_getkind_np; pthread_mutexattr_setkind_np;
pthread_self; pthread_setcancelstate; pthread_setcanceltype;
pthread_setschedparam;
# Internal libc interface to libpthread
__libc_internal_tsd_get; __libc_internal_tsd_set;
}
GLIBC_2.1 {
pthread_attr_init;
}
}
ld {
GLIBC_2.0 {
# Internal libc interface to libpthread
__libc_internal_tsd_get; __libc_internal_tsd_set;
}
}
libpthread {
GLIBC_2.0 {
# Hidden entry point (through macros).
_pthread_cleanup_pop; _pthread_cleanup_pop_restore; _pthread_cleanup_push;
_pthread_cleanup_push_defer;
# Internal libc interface to libpthread
__libc_internal_tsd_get; __libc_internal_tsd_set;
# Overwritten libc functions.
accept; close; connect; fcntl; fork; fsync; longjmp; lseek; msync;
nanosleep; open; pause; raise; read; recv; recvfrom; recvmsg; send;
sendmsg; sendto; sigaction; siglongjmp; system; tcdrain; wait;
waitpid; write;
__close; __connect; __fcntl; __lseek; __open; __read; __send; __wait;
__write;
_IO_flockfile; _IO_ftrylockfile; _IO_funlockfile;
vfork; __fork;
# POSIX.1c extensions to libc.
flockfile; funlockfile; ftrylockfile;
# Non-standard POSIX1.x functions.
pthread_kill_other_threads_np; pthread_mutexattr_getkind_np;
pthread_mutexattr_setkind_np;
# Real POSIX.1c functions.
pthread_atfork; pthread_attr_destroy; pthread_attr_getdetachstate;
pthread_attr_getinheritsched; pthread_attr_getschedparam;
pthread_attr_getschedpolicy; pthread_attr_getscope; pthread_attr_init;
pthread_attr_setdetachstate; pthread_attr_setinheritsched;
pthread_attr_setschedparam; pthread_attr_setschedpolicy;
pthread_attr_setscope; pthread_cancel; pthread_cond_broadcast;
pthread_cond_destroy; pthread_cond_init; pthread_cond_signal;
pthread_cond_timedwait; pthread_cond_wait; pthread_condattr_destroy;
pthread_condattr_init; pthread_create; pthread_detach; pthread_equal;
pthread_exit; pthread_getschedparam; pthread_getspecific; pthread_join;
pthread_key_create; pthread_key_delete; pthread_kill;
pthread_mutex_destroy; pthread_mutex_init; pthread_mutex_lock;
pthread_mutex_trylock; pthread_mutex_unlock; pthread_mutexattr_destroy;
pthread_mutexattr_init; pthread_once; pthread_self; pthread_setcancelstate;
pthread_setcanceltype; pthread_setschedparam; pthread_setspecific;
pthread_sigmask; pthread_testcancel;
sem_destroy; sem_getvalue; sem_init; sem_post; sem_trywait; sem_wait;
sigwait;
# Protected names for functions used in other shared objects.
__pthread_atfork; __pthread_initialize; __pthread_getspecific;
__pthread_key_create; __pthread_mutex_destroy; __pthread_mutex_init;
__pthread_mutex_lock; __pthread_mutex_trylock; __pthread_mutex_unlock;
__pthread_mutexattr_destroy; __pthread_mutexattr_init;
__pthread_mutexattr_settype; __pthread_once; __pthread_setspecific;
# The error functions.
__errno_location; __h_errno_location;
}
GLIBC_2.1 {
# Functions with changed interface.
pthread_attr_init; pthread_create;
# Unix98 extensions.
pthread_rwlock_init; pthread_rwlock_destroy; pthread_rwlock_rdlock;
pthread_rwlock_tryrdlock; pthread_rwlock_wrlock; pthread_rwlock_trywrlock;
pthread_rwlock_unlock; pthread_rwlockattr_init; pthread_rwlockattr_destroy;
pthread_rwlockattr_getpshared; pthread_rwlockattr_setpshared;
pthread_rwlockattr_getkind_np; pthread_rwlockattr_setkind_np;
pthread_attr_getguardsize; pthread_attr_setguardsize;
pthread_attr_getstackaddr; pthread_attr_setstackaddr;
pthread_attr_getstacksize; pthread_attr_setstacksize;
pthread_getconcurrency; pthread_setconcurrency;
pthread_mutexattr_gettype; pthread_mutexattr_settype;
sem_destroy; sem_getvalue; sem_init; sem_post; sem_trywait; sem_wait;
# helper functions
__libc_current_sigrtmin; __libc_current_sigrtmax;
__libc_allocate_rtsig;
}
GLIBC_2.1.1 {
sem_close; sem_open; sem_unlink;
}
GLIBC_2.1.2 {
__pthread_kill_other_threads_np;
__vfork;
}
GLIBC_2.2 {
# For the cancelation wrappers.
pread; __pread64; pread64; pwrite; __pwrite64; pwrite64; lseek64;
open64; __open64;
__res_state;
# Names used internally.
__pthread_rwlock_init; __pthread_rwlock_destroy; __pthread_rwlock_rdlock;
__pthread_rwlock_tryrdlock; __pthread_rwlock_wrlock;
__pthread_rwlock_trywrlock; __pthread_rwlock_unlock;
# New functions from IEEE Std. 10003.1-200x.
sem_timedwait;
pthread_spin_destroy; pthread_spin_init; pthread_spin_lock;
pthread_spin_trylock; pthread_spin_unlock;
pthread_getcpuclockid;
pthread_barrier_destroy; pthread_barrier_init; pthread_barrier_wait;
pthread_barrierattr_destroy; pthread_barrierattr_init;
pthread_barrierattr_getpshared; pthread_barrierattr_setpshared;
pthread_mutex_timedlock;
pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock;
# Extensions.
pthread_yield;
# New internal function.
__pthread_initialize_minimal;
}
}