From c269fdb42faa5bfe25453b03a2d74ebb68926d99 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 16 Apr 2000 01:18:43 +0000 Subject: [PATCH] Update. * csu/Makefile ($(objpfx)version-info.h): Get OS name from uname and only fall back on using Linux. --- ChangeLog | 3 +++ csu/Makefile | 6 +++++- linuxthreads/ChangeLog | 4 ++++ linuxthreads/Versions | 3 +++ linuxthreads/pthread.c | 7 +++++++ linuxthreads/sysdeps/pthread/pthread.h | 8 ++++++++ 6 files changed, 30 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e1136d7..ebd237e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-04-15 Ulrich Drepper + * csu/Makefile ($(objpfx)version-info.h): Get OS name from uname and + only fall back on using Linux. + * elf/dl-version.c (_dl_check_map_versions): New argument trace_mode. Before testing versions check that we actually loaded the object and whether we are in trace mode. If not loaded during tracing don't diff --git a/csu/Makefile b/csu/Makefile index 79eeef1..1fb2e8f 100644 --- a/csu/Makefile +++ b/csu/Makefile @@ -182,7 +182,11 @@ $(objpfx)version-info.h: $(common-objpfx)config.make $(all-Banner-files) version=`uname -r`; \ fi; \ fi; \ - echo "\"Compiled on a Linux $$version system" \ + os=`uname -s 2> /dev/null`; \ + if [ -z "$$os" ]; then \ + os=Linux; \ + fi; \ + echo "\"Compiled on a $$os $$version system" \ "on `date +%Y-%m-%d`.\\n\"" ;; \ *) ;; \ esac; \ diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index f9a3bf9..9a1213b 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,5 +1,9 @@ 2000-04-15 Ulrich Drepper + * pthread.c (pthread_yield): New function. + * sysdeps/pthread/pthread.h (pthread_yield): Add prototype. + * Versions [libpthread] (GLIBC_2.2): Add pthread_yield. + * pthread.c (pthread_initialize): Avoid a bit more code if realtime signals are known to exist. diff --git a/linuxthreads/Versions b/linuxthreads/Versions index 92ec98d..5579bea 100644 --- a/linuxthreads/Versions +++ b/linuxthreads/Versions @@ -135,5 +135,8 @@ libpthread { pthread_spin_destroy; pthread_spin_init; pthread_spin_lock; pthread_spin_trylock; pthread_spin_unlock; pthread_getcpuclockid; + + # Extensions. + pthread_yield; } } diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c index eca9063..ae747bc 100644 --- a/linuxthreads/pthread.c +++ b/linuxthreads/pthread.c @@ -634,6 +634,13 @@ int pthread_getschedparam(pthread_t thread, int *policy, return 0; } +int __pthread_yield () +{ + /* For now this is equivalent with the POSIX call. */ + return sched_yield (); +} +weak_alias (__pthread_yield, pthread_yield) + /* Process-wide exit() request */ static void pthread_exit_process(int retcode, void *arg) diff --git a/linuxthreads/sysdeps/pthread/pthread.h b/linuxthreads/sysdeps/pthread/pthread.h index de00130..e82c4de 100644 --- a/linuxthreads/sysdeps/pthread/pthread.h +++ b/linuxthreads/sysdeps/pthread/pthread.h @@ -272,6 +272,14 @@ extern int pthread_getconcurrency (void) __THROW; extern int pthread_setconcurrency (int __level) __THROW; #endif +#ifdef __USE_GNU +/* Yield the processor to another thread or process. + This function is similar to the POSIX `sched_yield' function but + might be differently implemented in the case of a m-on-n thread + implementation. */ +extern int pthread_yield (void) __THROW; +#endif + /* Functions for mutex handling. */ /* Initialize MUTEX using attributes in *MUTEX_ATTR, or use the -- 2.7.4