1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
1999-07-09  Cristian Gafton  <gafton@redhat.com>

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Make sure
	resultbuf->h_addr_list addresses are correctly aligned.

	* sysdeps/i386/bits/string.h (__memcpy_c): Help some stupid old
	compilers.
	(__memset_cc): Likewise.
This commit is contained in:
Ulrich Drepper
1999-07-09 20:58:54 +00:00
parent a828c2f533
commit c2fa5b5a4f
14 changed files with 145 additions and 16 deletions

View File

@ -1,3 +1,17 @@
1999-07-09 Cristian Gafton <gafton@redhat.com>
* Makefile (libpthread-routines): Add oldsemaphore routine.
* Versions: Add sem_destroy; sem_getvalue; sem_init; sem_post;
sem_trywait; sem_wait; to GLIBC_2.1.
* oldsemaphore.c: New file.
* semaphore.c: Add default_symbol_versions for the changed functions.
(__new_sem_init): Rename from sem_init.
(__new_sem_post): Rename from sem_post.
(__new_sem_wait): Rename from sem_wait.
(__new_sem_trywait): Rename from sem_trywait.
(__new_sem_getvalue): Rename from sem_getvalue.
(__new_sem_destroy): Rename from sem_destroy.
1999-06-23 Robey Pointer <robey@netscape.com>
* internals.h: Added p_nextlock entry to separate queueing for a

View File

@ -34,7 +34,8 @@ extra-libs-others := $(extra-libs)
libpthread-routines := attr cancel condvar join manager mutex ptfork \
ptlongjmp pthread signals specific errno lockfile \
semaphore spinlock wrapsyscall rwlock pt-machine
semaphore spinlock wrapsyscall rwlock pt-machine \
oldsemaphore
vpath %.c Examples
tests = ex1 ex2 ex3 ex4 ex5 ex6

View File

@ -97,6 +97,8 @@ libpthread {
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;

View File

@ -22,7 +22,7 @@
#include "restart.h"
#include "queue.h"
int sem_init(sem_t *sem, int pshared, unsigned int value)
int __new_sem_init(sem_t *sem, int pshared, unsigned int value)
{
if (value > SEM_VALUE_MAX) {
errno = EINVAL;
@ -38,7 +38,7 @@ int sem_init(sem_t *sem, int pshared, unsigned int value)
return 0;
}
int sem_wait(sem_t * sem)
int __new_sem_wait(sem_t * sem)
{
volatile pthread_descr self = thread_self();
@ -65,7 +65,7 @@ int sem_wait(sem_t * sem)
return 0;
}
int sem_trywait(sem_t * sem)
int __new_sem_trywait(sem_t * sem)
{
int retval;
@ -81,7 +81,7 @@ int sem_trywait(sem_t * sem)
return retval;
}
int sem_post(sem_t * sem)
int __new_sem_post(sem_t * sem)
{
pthread_descr self = thread_self();
pthread_descr th;
@ -120,13 +120,13 @@ int sem_post(sem_t * sem)
return 0;
}
int sem_getvalue(sem_t * sem, int * sval)
int __new_sem_getvalue(sem_t * sem, int * sval)
{
*sval = sem->__sem_value;
return 0;
}
int sem_destroy(sem_t * sem)
int __new_sem_destroy(sem_t * sem)
{
if (sem->__sem_waiting != NULL) {
__set_errno (EBUSY);
@ -152,3 +152,22 @@ int sem_unlink(const char *name)
__set_errno (ENOSYS);
return -1;
}
#if defined PIC && DO_VERSIONING
default_symbol_version (__new_sem_init, sem_init, GLIBC_2.1);
default_symbol_version (__new_sem_wait, sem_wait, GLIBC_2.1);
default_symbol_version (__new_sem_trywait, sem_trywait, GLIBC_2.1);
default_symbol_version (__new_sem_post, sem_post, GLIBC_2.1);
default_symbol_version (__new_sem_getvalue, sem_getvalue, GLIBC_2.1);
default_symbol_version (__new_sem_destroy, sem_destroy, GLIBC_2.1);
#else
# ifdef weak_alias
weak_alias (__new_sem_init, sem_init)
weak_alias (__new_sem_wait, sem_wait)
weak_alias (__new_sem_trywait, sem_trywait)
weak_alias (__new_sem_post, sem_post)
weak_alias (__new_sem_getvalue, sem_getvalue)
weak_alias (__new_sem_destroy, sem_destroy)
# endif
#endif