From c4a35f8c2a4b1a7e62a4b9e5b2748fb4fbcace79 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 11 Nov 2012 16:08:38 -0500 Subject: debloat src/thread tree but putting lots of junk in one file POSIX includes mostly-useless attribute-get functions for each attribute-set function, presumably out of some object-oriented dogmatism. the get functions are not useful with the simple idiomatic usage of attributes. there are of course possible valid uses of them (like writing wrappers for pthread init functions that perform special actions on the presence of certain attributes), but considering how tiny these functions are anyway, little is lost by putting them all in one file, and some build-time cost and archive-file-size benefits are achieved. --- src/thread/pthread_attr_get.c | 93 +++++++++++++++++++++++++++++ src/thread/pthread_attr_getdetachstate.c | 7 --- src/thread/pthread_attr_getguardsize.c | 7 --- src/thread/pthread_attr_getinheritsched.c | 7 --- src/thread/pthread_attr_getschedparam.c | 7 --- src/thread/pthread_attr_getschedpolicy.c | 7 --- src/thread/pthread_attr_getscope.c | 7 --- src/thread/pthread_attr_getstack.c | 10 ---- src/thread/pthread_attr_getstacksize.c | 7 --- src/thread/pthread_barrierattr_getpshared.c | 7 --- src/thread/pthread_condattr_getclock.c | 7 --- src/thread/pthread_condattr_getpshared.c | 7 --- src/thread/pthread_mutexattr_getpshared.c | 7 --- src/thread/pthread_mutexattr_getrobust.c | 7 --- src/thread/pthread_mutexattr_gettype.c | 7 --- src/thread/pthread_rwlockattr_getpshared.c | 7 --- 16 files changed, 93 insertions(+), 108 deletions(-) create mode 100644 src/thread/pthread_attr_get.c delete mode 100644 src/thread/pthread_attr_getdetachstate.c delete mode 100644 src/thread/pthread_attr_getguardsize.c delete mode 100644 src/thread/pthread_attr_getinheritsched.c delete mode 100644 src/thread/pthread_attr_getschedparam.c delete mode 100644 src/thread/pthread_attr_getschedpolicy.c delete mode 100644 src/thread/pthread_attr_getscope.c delete mode 100644 src/thread/pthread_attr_getstack.c delete mode 100644 src/thread/pthread_attr_getstacksize.c delete mode 100644 src/thread/pthread_barrierattr_getpshared.c delete mode 100644 src/thread/pthread_condattr_getclock.c delete mode 100644 src/thread/pthread_condattr_getpshared.c delete mode 100644 src/thread/pthread_mutexattr_getpshared.c delete mode 100644 src/thread/pthread_mutexattr_getrobust.c delete mode 100644 src/thread/pthread_mutexattr_gettype.c delete mode 100644 src/thread/pthread_rwlockattr_getpshared.c diff --git a/src/thread/pthread_attr_get.c b/src/thread/pthread_attr_get.c new file mode 100644 index 00000000..f81103d8 --- /dev/null +++ b/src/thread/pthread_attr_get.c @@ -0,0 +1,93 @@ +#include "pthread_impl.h" + +int pthread_attr_getdetachstate(const pthread_attr_t *a, int *state) +{ + *state = a->_a_detach; + return 0; +} +int pthread_attr_getguardsize(const pthread_attr_t *restrict a, size_t *restrict size) +{ + *size = a->_a_guardsize + DEFAULT_GUARD_SIZE; + return 0; +} + +int pthread_attr_getinheritsched(const pthread_attr_t *a, int *inherit) +{ + *inherit = a->_a_sched; + return 0; +} + +int pthread_attr_getschedparam(const pthread_attr_t *restrict a, struct sched_param *restrict param) +{ + param->sched_priority = a->_a_prio; + return 0; +} + +int pthread_attr_getschedpolicy(const pthread_attr_t *a, int *policy) +{ + *policy = a->_a_policy; + return 0; +} + +int pthread_attr_getscope(const pthread_attr_t *restrict a, int *restrict scope) +{ + *scope = PTHREAD_SCOPE_SYSTEM; + return 0; +} + +int pthread_attr_getstack(const pthread_attr_t *restrict a, void **restrict addr, size_t *restrict size) +{ + if (!a->_a_stackaddr) + return EINVAL; + *size = a->_a_stacksize + DEFAULT_STACK_SIZE; + *addr = (void *)(a->_a_stackaddr - *size); + return 0; +} + +int pthread_attr_getstacksize(const pthread_attr_t *restrict a, size_t *restrict size) +{ + *size = a->_a_stacksize + DEFAULT_STACK_SIZE; + return 0; +} + +int pthread_barrierattr_getpshared(const pthread_barrierattr_t *restrict a, int *restrict pshared) +{ + *pshared = !!*a; + return 0; +} + +int pthread_condattr_getclock(const pthread_condattr_t *restrict a, clockid_t *restrict clk) +{ + *clk = *a & 0x7fffffff; + return 0; +} + +int pthread_condattr_getpshared(const pthread_condattr_t *restrict a, int *restrict pshared) +{ + *pshared = *a>>31; + return 0; +} + +int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict a, int *restrict pshared) +{ + *pshared = *a>>31; + return 0; +} + +int pthread_mutexattr_getrobust(const pthread_mutexattr_t *restrict a, int *restrict robust) +{ + *robust = *a / 4U % 2; + return 0; +} + +int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict a, int *restrict type) +{ + *type = *a & 3; + return 0; +} + +int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *restrict a, int *restrict pshared) +{ + *pshared = *(int *)a; + return 0; +} diff --git a/src/thread/pthread_attr_getdetachstate.c b/src/thread/pthread_attr_getdetachstate.c deleted file mode 100644 index 47c4c023..00000000 --- a/src/thread/pthread_attr_getdetachstate.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_attr_getdetachstate(const pthread_attr_t *a, int *state) -{ - *state = a->_a_detach; - return 0; -} diff --git a/src/thread/pthread_attr_getguardsize.c b/src/thread/pthread_attr_getguardsize.c deleted file mode 100644 index 93ba05dd..00000000 --- a/src/thread/pthread_attr_getguardsize.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_attr_getguardsize(const pthread_attr_t *restrict a, size_t *restrict size) -{ - *size = a->_a_guardsize + DEFAULT_GUARD_SIZE; - return 0; -} diff --git a/src/thread/pthread_attr_getinheritsched.c b/src/thread/pthread_attr_getinheritsched.c deleted file mode 100644 index 392a5df8..00000000 --- a/src/thread/pthread_attr_getinheritsched.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_attr_getinheritsched(const pthread_attr_t *a, int *inherit) -{ - *inherit = a->_a_sched; - return 0; -} diff --git a/src/thread/pthread_attr_getschedparam.c b/src/thread/pthread_attr_getschedparam.c deleted file mode 100644 index de5fbfe2..00000000 --- a/src/thread/pthread_attr_getschedparam.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_attr_getschedparam(const pthread_attr_t *restrict a, struct sched_param *restrict param) -{ - param->sched_priority = a->_a_prio; - return 0; -} diff --git a/src/thread/pthread_attr_getschedpolicy.c b/src/thread/pthread_attr_getschedpolicy.c deleted file mode 100644 index 09e893a3..00000000 --- a/src/thread/pthread_attr_getschedpolicy.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_attr_getschedpolicy(const pthread_attr_t *a, int *policy) -{ - *policy = a->_a_policy; - return 0; -} diff --git a/src/thread/pthread_attr_getscope.c b/src/thread/pthread_attr_getscope.c deleted file mode 100644 index b8dfd123..00000000 --- a/src/thread/pthread_attr_getscope.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_attr_getscope(const pthread_attr_t *restrict a, int *restrict scope) -{ - *scope = PTHREAD_SCOPE_SYSTEM; - return 0; -} diff --git a/src/thread/pthread_attr_getstack.c b/src/thread/pthread_attr_getstack.c deleted file mode 100644 index 70adbb03..00000000 --- a/src/thread/pthread_attr_getstack.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "pthread_impl.h" - -int pthread_attr_getstack(const pthread_attr_t *restrict a, void **restrict addr, size_t *restrict size) -{ - if (!a->_a_stackaddr) - return EINVAL; - *size = a->_a_stacksize + DEFAULT_STACK_SIZE; - *addr = (void *)(a->_a_stackaddr - *size); - return 0; -} diff --git a/src/thread/pthread_attr_getstacksize.c b/src/thread/pthread_attr_getstacksize.c deleted file mode 100644 index f69cc1e6..00000000 --- a/src/thread/pthread_attr_getstacksize.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_attr_getstacksize(const pthread_attr_t *restrict a, size_t *restrict size) -{ - *size = a->_a_stacksize + DEFAULT_STACK_SIZE; - return 0; -} diff --git a/src/thread/pthread_barrierattr_getpshared.c b/src/thread/pthread_barrierattr_getpshared.c deleted file mode 100644 index df337c29..00000000 --- a/src/thread/pthread_barrierattr_getpshared.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_barrierattr_getpshared(const pthread_barrierattr_t *restrict a, int *restrict pshared) -{ - *pshared = !!*a; - return 0; -} diff --git a/src/thread/pthread_condattr_getclock.c b/src/thread/pthread_condattr_getclock.c deleted file mode 100644 index d2933843..00000000 --- a/src/thread/pthread_condattr_getclock.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_condattr_getclock(const pthread_condattr_t *restrict a, clockid_t *restrict clk) -{ - *clk = *a & 0x7fffffff; - return 0; -} diff --git a/src/thread/pthread_condattr_getpshared.c b/src/thread/pthread_condattr_getpshared.c deleted file mode 100644 index 4991e495..00000000 --- a/src/thread/pthread_condattr_getpshared.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_condattr_getpshared(const pthread_condattr_t *restrict a, int *restrict pshared) -{ - *pshared = *a>>31; - return 0; -} diff --git a/src/thread/pthread_mutexattr_getpshared.c b/src/thread/pthread_mutexattr_getpshared.c deleted file mode 100644 index e7340b1a..00000000 --- a/src/thread/pthread_mutexattr_getpshared.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict a, int *restrict pshared) -{ - *pshared = *a>>31; - return 0; -} diff --git a/src/thread/pthread_mutexattr_getrobust.c b/src/thread/pthread_mutexattr_getrobust.c deleted file mode 100644 index 4d176f20..00000000 --- a/src/thread/pthread_mutexattr_getrobust.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_mutexattr_getrobust(const pthread_mutexattr_t *restrict a, int *restrict robust) -{ - *robust = *a / 4U % 2; - return 0; -} diff --git a/src/thread/pthread_mutexattr_gettype.c b/src/thread/pthread_mutexattr_gettype.c deleted file mode 100644 index 7688b068..00000000 --- a/src/thread/pthread_mutexattr_gettype.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict a, int *restrict type) -{ - *type = *a & 3; - return 0; -} diff --git a/src/thread/pthread_rwlockattr_getpshared.c b/src/thread/pthread_rwlockattr_getpshared.c deleted file mode 100644 index 02fd8c80..00000000 --- a/src/thread/pthread_rwlockattr_getpshared.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "pthread_impl.h" - -int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *restrict a, int *restrict pshared) -{ - *pshared = *(int *)a; - return 0; -} -- cgit v1.2.1