diff options
author | M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> | 2010-03-04 04:43:21 +0200 |
---|---|---|
committer | M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> | 2010-03-04 04:43:21 +0200 |
commit | bef554c41fd5cb5e44bfe53b219c5871d795b0bb (patch) | |
tree | 602e3fd358900a982ff26b6256c011e65e9eea77 | |
parent | 0b5579b5d13a6060a3e3eef4bc3b5d9242117d3c (diff) |
Add initial support for rwlocks.
-rw-r--r-- | list.txt | 16 | ||||
-rw-r--r-- | stubs.c | 72 |
2 files changed, 80 insertions, 8 deletions
@@ -72,19 +72,19 @@ alias("na", [[pthread_mutex_timedlock]]) alias("na", [[pthread_mutex_trylock]]) alias("zero", [[pthread_mutex_unlock]]) alias("na", [[pthread_once]]) -alias("na", [[pthread_rwlockattr_destroy]]) +alias("zero", [[pthread_rwlockattr_destroy]]) alias("na", [[pthread_rwlockattr_getpshared]]) -alias("na", [[pthread_rwlockattr_init]]) -alias("na", [[pthread_rwlockattr_setpshared]]) -alias("na", [[pthread_rwlock_destroy]]) -alias("na", [[pthread_rwlock_init]]) -alias("na", [[pthread_rwlock_rdlock]]) +alias("zero", [[pthread_rwlockattr_init]]) +alias("zero", [[pthread_rwlockattr_setpshared]]) +alias("zero", [[pthread_rwlock_destroy]]) +alias("zero", [[pthread_rwlock_init]]) +alias("zero", [[pthread_rwlock_rdlock]]) alias("na", [[pthread_rwlock_timedrdlock]]) alias("na", [[pthread_rwlock_timedwrlock]]) alias("na", [[pthread_rwlock_tryrdlock]]) alias("na", [[pthread_rwlock_trywrlock]]) -alias("na", [[pthread_rwlock_unlock]]) -alias("na", [[pthread_rwlock_wrlock]]) +alias("zero", [[pthread_rwlock_unlock]]) +alias("zero", [[pthread_rwlock_wrlock]]) alias("zero", [[pthread_self]]) alias("na", [[pthread_setcancelstate]]) alias("na", [[pthread_setcanceltype]]) @@ -336,6 +336,78 @@ int pthread_mutex_unlock() __attribute__ ((weak, alias ("__pthread_zero_stub"))) # endif #endif +#ifndef HAVE_PTHREAD_RWLOCKATTR_DESTROY +#define NEED_ZERO_STUB +# ifdef SUPPORT_ATTRIBUTE_ALIAS +int pthread_rwlockattr_destroy() __attribute__ ((weak, alias ("__pthread_zero_stub"))); +# else +# pragma weak pthread_rwlockattr_destroy = __pthread_zero_stub +# endif +#endif + +#ifndef HAVE_PTHREAD_RWLOCKATTR_INIT +#define NEED_ZERO_STUB +# ifdef SUPPORT_ATTRIBUTE_ALIAS +int pthread_rwlockattr_init() __attribute__ ((weak, alias ("__pthread_zero_stub"))); +# else +# pragma weak pthread_rwlockattr_init = __pthread_zero_stub +# endif +#endif + +#ifndef HAVE_PTHREAD_RWLOCKATTR_SETPSHARED +#define NEED_ZERO_STUB +# ifdef SUPPORT_ATTRIBUTE_ALIAS +int pthread_rwlockattr_setpshared() __attribute__ ((weak, alias ("__pthread_zero_stub"))); +# else +# pragma weak pthread_rwlockattr_setpshared = __pthread_zero_stub +# endif +#endif + +#ifndef HAVE_PTHREAD_RWLOCK_DESTROY +#define NEED_ZERO_STUB +# ifdef SUPPORT_ATTRIBUTE_ALIAS +int pthread_rwlock_destroy() __attribute__ ((weak, alias ("__pthread_zero_stub"))); +# else +# pragma weak pthread_rwlock_destroy = __pthread_zero_stub +# endif +#endif + +#ifndef HAVE_PTHREAD_RWLOCK_INIT +#define NEED_ZERO_STUB +# ifdef SUPPORT_ATTRIBUTE_ALIAS +int pthread_rwlock_init() __attribute__ ((weak, alias ("__pthread_zero_stub"))); +# else +# pragma weak pthread_rwlock_init = __pthread_zero_stub +# endif +#endif + +#ifndef HAVE_PTHREAD_RWLOCK_RDLOCK +#define NEED_ZERO_STUB +# ifdef SUPPORT_ATTRIBUTE_ALIAS +int pthread_rwlock_rdlock() __attribute__ ((weak, alias ("__pthread_zero_stub"))); +# else +# pragma weak pthread_rwlock_rdlock = __pthread_zero_stub +# endif +#endif + +#ifndef HAVE_PTHREAD_RWLOCK_UNLOCK +#define NEED_ZERO_STUB +# ifdef SUPPORT_ATTRIBUTE_ALIAS +int pthread_rwlock_unlock() __attribute__ ((weak, alias ("__pthread_zero_stub"))); +# else +# pragma weak pthread_rwlock_unlock = __pthread_zero_stub +# endif +#endif + +#ifndef HAVE_PTHREAD_RWLOCK_WRLOCK +#define NEED_ZERO_STUB +# ifdef SUPPORT_ATTRIBUTE_ALIAS +int pthread_rwlock_wrlock() __attribute__ ((weak, alias ("__pthread_zero_stub"))); +# else +# pragma weak pthread_rwlock_wrlock = __pthread_zero_stub +# endif +#endif + #ifndef HAVE_PTHREAD_SELF #define NEED_ZERO_STUB # ifdef SUPPORT_ATTRIBUTE_ALIAS |