diff options
| author | [email protected] <[email protected]> | 2012-11-23 02:40:32 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2012-11-23 02:40:32 +0000 |
| commit | 44eaae8c80cfd320bb81fce14aec60f207fb240f (patch) | |
| tree | 825b852c6eccebd9fd655271ee3b94d5cb8ccd6a /components/pthreads | |
| parent | ffbd0a167379c3fe4c31a4d0f65d7c3adfd4f16a (diff) | |
export more symbols of PThread.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2433 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/pthreads')
| -rw-r--r-- | components/pthreads/clock_time.c | 4 | ||||
| -rw-r--r-- | components/pthreads/mqueue.c | 10 | ||||
| -rw-r--r-- | components/pthreads/pthread.c | 14 | ||||
| -rw-r--r-- | components/pthreads/pthread_attr.c | 18 | ||||
| -rw-r--r-- | components/pthreads/pthread_barrier.c | 7 | ||||
| -rw-r--r-- | components/pthreads/pthread_cond.c | 14 | ||||
| -rw-r--r-- | components/pthreads/pthread_mutex.c | 11 | ||||
| -rw-r--r-- | components/pthreads/pthread_rwlock.c | 13 | ||||
| -rw-r--r-- | components/pthreads/pthread_tls.c | 4 | ||||
| -rw-r--r-- | components/pthreads/sched.c | 4 | ||||
| -rw-r--r-- | components/pthreads/semaphore.c | 16 |
11 files changed, 111 insertions, 4 deletions
diff --git a/components/pthreads/clock_time.c b/components/pthreads/clock_time.c index 8852f4990e..0e587636aa 100644 --- a/components/pthreads/clock_time.c +++ b/components/pthreads/clock_time.c @@ -54,6 +54,7 @@ int clock_time_to_tick(const struct timespec *time) return tick;
}
+RTM_EXPORT(clock_time_to_tick);
int clock_getres (clockid_t clockid, struct timespec *res)
{
@@ -68,6 +69,7 @@ int clock_getres (clockid_t clockid, struct timespec *res) return 0;
}
+RTM_EXPORT(clock_getres);
int clock_gettime (clockid_t clockid, struct timespec *tp)
{
@@ -87,6 +89,7 @@ int clock_gettime (clockid_t clockid, struct timespec *tp) return 0;
}
+RTM_EXPORT(clock_gettime);
int clock_settime (clockid_t clockid, const struct timespec *tp)
{
@@ -120,3 +123,4 @@ int clock_settime (clockid_t clockid, const struct timespec *tp) return 0;
}
+RTM_EXPORT(clock_settime);
diff --git a/components/pthreads/mqueue.c b/components/pthreads/mqueue.c index 96ee76e742..bda3a5f254 100644 --- a/components/pthreads/mqueue.c +++ b/components/pthreads/mqueue.c @@ -68,6 +68,7 @@ int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, rt_set_errno(-RT_ERROR);
return -1;
}
+RTM_EXPORT(mq_setattr);
int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat)
{
@@ -84,6 +85,7 @@ int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat) return 0;
}
+RTM_EXPORTO(mq_getattr);
mqd_t mq_open(const char *name, int oflag, ...)
{
@@ -165,6 +167,7 @@ __return: }
return RT_NULL;
}
+RTM_EXPORT(mq_open);
ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio)
{
@@ -183,6 +186,7 @@ ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_pri rt_set_errno(EBADF);
return -1;
}
+RTM_EXPORT(mq_receive);
int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio)
{
@@ -201,6 +205,7 @@ int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio) rt_set_errno(EBADF);
return -1;
}
+RTM_EXPORT(mq_send);
ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len,
unsigned *msg_prio, const struct timespec *abs_timeout)
@@ -227,6 +232,7 @@ ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, return -1;
}
+RTM_EXPORT(mq_timedreceive);
int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio,
const struct timespec *abs_timeout)
@@ -234,12 +240,14 @@ int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_ /* RT-Thread does not support timed send */
return mq_send(mqdes, msg_ptr, msg_len, msg_prio);
}
+RTM_EXPORT(mq_timedsend);
int mq_notify(mqd_t mqdes, const struct sigevent *notification)
{
rt_set_errno(-RT_ERROR);
return -1;
}
+RTM_EXPORT(mq_notify);
int mq_close(mqd_t mqdes)
{
@@ -262,6 +270,7 @@ int mq_close(mqd_t mqdes) return 0;
}
+RTM_EXPORT(mq_close);
int mq_unlink(const char *name)
{
@@ -287,3 +296,4 @@ int mq_unlink(const char *name) rt_set_errno(ENOENT);
return -1;
}
+RTM_EXPORT(mq_unlink);
diff --git a/components/pthreads/pthread.c b/components/pthreads/pthread.c index 59a689a51e..576ed1e87a 100644 --- a/components/pthreads/pthread.c +++ b/components/pthreads/pthread.c @@ -145,6 +145,7 @@ int pthread_create (pthread_t *tid, const pthread_attr_t *attr, rt_free(ptd);
return EINVAL;
}
+RTM_EXPORT(pthread_create);
int pthread_detach(pthread_t thread)
{
@@ -189,6 +190,7 @@ int pthread_detach(pthread_t thread) return 0;
}
+RTM_EXPORT(pthread_detach);
int pthread_join (pthread_t thread, void **value_ptr)
{
@@ -218,6 +220,7 @@ int pthread_join (pthread_t thread, void **value_ptr) return 0;
}
+RTM_EXPORT(pthread_join);
void pthread_exit (void* value)
{
@@ -277,6 +280,7 @@ void pthread_exit (void* value) /* reschedule thread */
rt_schedule();
}
+RTM_EXPORT(pthread_exit);
int pthread_once(pthread_once_t * once_control, void (*init_routine) (void))
{
@@ -296,16 +300,19 @@ int pthread_once(pthread_once_t * once_control, void (*init_routine) (void)) return 0;
}
+RTM_EXPORT(pthread_once);
int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void))
{
return ENOTSUP;
}
+RTM_EXPORT(pthread_atfork);
int pthread_kill(pthread_t thread, int sig)
{
return ENOTSUP;
}
+RTM_EXPORT(pthread_kill);
void pthread_cleanup_pop(int execute)
{
@@ -332,6 +339,7 @@ void pthread_cleanup_pop(int execute) }
}
}
+RTM_EXPORT(pthread_cleanup_pop);
void pthread_cleanup_push(void (*routine)(void*), void *arg)
{
@@ -354,6 +362,7 @@ void pthread_cleanup_push(void (*routine)(void*), void *arg) rt_exit_critical();
}
}
+RTM_EXPORT(pthread_cleanup_push);
/*
* According to IEEE Std 1003.1, 2004 Edition , following pthreads
@@ -401,6 +410,7 @@ int pthread_setcancelstate(int state, int *oldstate) return EINVAL;
}
+RTM_EXPORT(pthread_setcancelstate);
int pthread_setcanceltype(int type, int *oldtype)
{
@@ -418,6 +428,7 @@ int pthread_setcanceltype(int type, int *oldtype) return 0;
}
+RTM_EXPORT(pthread_setcanceltype);
void pthread_testcancel(void)
{
@@ -431,6 +442,7 @@ void pthread_testcancel(void) if (ptd->cancelstate == PTHREAD_CANCEL_ENABLE) cancel = ptd->canceled;
if (cancel) pthread_exit((void*)PTHREAD_CANCELED);
}
+RTM_EXPORT(pthread_testcancel);
int pthread_cancel(pthread_t thread)
{
@@ -462,3 +474,5 @@ int pthread_cancel(pthread_t thread) return 0;
}
+RTM_EXPORT(pthread_cancel);
+
diff --git a/components/pthreads/pthread_attr.c b/components/pthreads/pthread_attr.c index 706e4819c3..1946722602 100644 --- a/components/pthreads/pthread_attr.c +++ b/components/pthreads/pthread_attr.c @@ -24,6 +24,7 @@ int pthread_attr_init(pthread_attr_t *attr) return 0;
}
+RTM_EXPORT(pthread_attr_init);
int pthread_attr_destroy(pthread_attr_t *attr)
{
@@ -32,6 +33,7 @@ int pthread_attr_destroy(pthread_attr_t *attr) memset(attr, 0, sizeof(pthread_attr_t));
return 0;
}
+RTM_EXPORT(pthread_attr_destroy);
int pthread_attr_setdetachstate(pthread_attr_t * attr, int state)
{
@@ -43,6 +45,7 @@ int pthread_attr_setdetachstate(pthread_attr_t * attr, int state) attr->detachstate = state;
return 0;
}
+RTM_EXPORT(pthread_attr_setdetachstate);
int pthread_attr_getdetachstate(pthread_attr_t const * attr, int *state)
{
@@ -52,6 +55,7 @@ int pthread_attr_getdetachstate(pthread_attr_t const * attr, int *state) return 0;
}
+RTM_EXPORT(pthread_attr_getdetachstate);
int pthread_attr_setschedpolicy(pthread_attr_t * attr, int policy)
{
@@ -60,6 +64,7 @@ int pthread_attr_setschedpolicy(pthread_attr_t * attr, int policy) attr->policy = policy;
return 0;
}
+RTM_EXPORT(pthread_attr_setschedpolicy);
int pthread_attr_getschedpolicy(pthread_attr_t const *attr, int *policy)
{
@@ -68,6 +73,7 @@ int pthread_attr_getschedpolicy(pthread_attr_t const *attr, int *policy) *policy = (int)attr->policy;
return 0;
}
+RTM_EXPORT(pthread_attr_getschedpolicy);
int pthread_attr_setschedparam(pthread_attr_t *attr, struct sched_param const *param)
{
@@ -77,6 +83,7 @@ int pthread_attr_setschedparam(pthread_attr_t *attr, struct sched_param const *p attr->priority = param->sched_priority;
return 0;
}
+RTM_EXPORT(pthread_attr_setschedparam);
int pthread_attr_getschedparam(pthread_attr_t const *attr, struct sched_param *param)
{
@@ -86,6 +93,7 @@ int pthread_attr_getschedparam(pthread_attr_t const *attr, struct sched_param *p param->sched_priority = attr->priority;
return 0;
}
+RTM_EXPORT(pthread_attr_getschedparam);
int pthread_attr_setstacksize(pthread_attr_t * attr, size_t stack_size)
{
@@ -94,6 +102,7 @@ int pthread_attr_setstacksize(pthread_attr_t * attr, size_t stack_size) attr->stack_size = stack_size;
return 0;
}
+RTM_EXPORT(pthread_attr_setstacksize);
int pthread_attr_getstacksize(pthread_attr_t const * attr, size_t *stack_size)
{
@@ -102,18 +111,21 @@ int pthread_attr_getstacksize(pthread_attr_t const * attr, size_t *stack_size) *stack_size = attr->stack_size;
return 0;
}
+RTM_EXPORT(pthread_attr_getstacksize);
int pthread_attr_setstackaddr(pthread_attr_t * attr, void * stack_addr)
{
RT_ASSERT(attr != RT_NULL);
return ENOTSUP;
}
+RTM_EXPORT(pthread_attr_setstackaddr);
int pthread_attr_getstackaddr(pthread_attr_t const * attr, void ** stack_addr)
{
RT_ASSERT(attr != RT_NULL);
return ENOTSUP;
}
+RTM_EXPORT(pthread_attr_getstackaddr);
int pthread_attr_setstack(pthread_attr_t * attr, void *stack_base, size_t stack_size)
{
@@ -124,6 +136,7 @@ int pthread_attr_setstack(pthread_attr_t * attr, void *stack_base, size_t stack_ return 0;
}
+RTM_EXPORT(pthread_attr_setstack);
int pthread_attr_getstack(pthread_attr_t const * attr, void **stack_base, size_t *stack_size)
{
@@ -134,6 +147,7 @@ int pthread_attr_getstack(pthread_attr_t const * attr, void **stack_base, size_t return 0;
}
+RTM_EXPORT(pthread_attr_getstack);
int pthread_attr_setguardsize(pthread_attr_t * attr, size_t guard_size)
{
@@ -144,6 +158,7 @@ int pthread_attr_getguardsize(pthread_attr_t const * attr, size_t *guard_size) {
return ENOTSUP;
}
+RTM_EXPORT(pthread_attr_getguardsize);
int pthread_attr_setscope(pthread_attr_t *attr, int scope)
{
@@ -154,9 +169,10 @@ int pthread_attr_setscope(pthread_attr_t *attr, int scope) return EINVAL;
}
+RTM_EXPORT(pthread_attr_setscope);
int pthread_attr_getscope(pthread_attr_t const *attr)
{
return PTHREAD_SCOPE_SYSTEM;
}
-
+RTM_EXPORT(pthread_attr_getscope);
diff --git a/components/pthreads/pthread_barrier.c b/components/pthreads/pthread_barrier.c index ba57f1e22f..e3860ab469 100644 --- a/components/pthreads/pthread_barrier.c +++ b/components/pthreads/pthread_barrier.c @@ -5,6 +5,7 @@ int pthread_barrierattr_destroy(pthread_barrierattr_t *attr) if (!attr) return EINVAL;
return 0;
}
+RTM_EXPORT(pthread_barrierattr_destroy);
int pthread_barrierattr_init(pthread_barrierattr_t *attr)
{
@@ -13,6 +14,7 @@ int pthread_barrierattr_init(pthread_barrierattr_t *attr) return 0;
}
+RTM_EXPORT(pthread_barrierattr_init);
int pthread_barrierattr_getpshared(const pthread_barrierattr_t *attr, int *pshared)
{
@@ -21,6 +23,7 @@ int pthread_barrierattr_getpshared(const pthread_barrierattr_t *attr, int *pshar return 0;
}
+RTM_EXPORT(pthread_barrierattr_getpshared);
int pthread_barrierattr_setpshared(pthread_barrierattr_t *attr, int pshared)
{
@@ -29,6 +32,7 @@ int pthread_barrierattr_setpshared(pthread_barrierattr_t *attr, int pshared) return EINVAL;
}
+RTM_EXPORT(pthread_barrierattr_setpshared);
int pthread_barrier_destroy(pthread_barrier_t *barrier)
{
@@ -40,6 +44,7 @@ int pthread_barrier_destroy(pthread_barrier_t *barrier) return result;
}
+RTM_EXPORT(pthread_barrier_destroy);
int pthread_barrier_init(pthread_barrier_t *barrier,
const pthread_barrierattr_t *attr, unsigned count)
@@ -53,6 +58,7 @@ int pthread_barrier_init(pthread_barrier_t *barrier, return 0;
}
+RTM_EXPORT(pthread_barrier_init);
int pthread_barrier_wait(pthread_barrier_t *barrier)
{
@@ -75,4 +81,5 @@ int pthread_barrier_wait(pthread_barrier_t *barrier) pthread_mutex_unlock(&(barrier->mutex));
return result;
}
+RTM_EXPORT(pthread_barrier_wait);
diff --git a/components/pthreads/pthread_cond.c b/components/pthreads/pthread_cond.c index 1e2ee15e6d..581d20e04f 100644 --- a/components/pthreads/pthread_cond.c +++ b/components/pthreads/pthread_cond.c @@ -7,6 +7,7 @@ int pthread_condattr_destroy(pthread_condattr_t *attr) return 0;
}
+RTM_EXPORT(pthread_condattr_destroy);
int pthread_condattr_init(pthread_condattr_t *attr)
{
@@ -15,18 +16,21 @@ int pthread_condattr_init(pthread_condattr_t *attr) return 0;
}
+RTM_EXPORT(pthread_condattr_init);
int pthread_condattr_getclock(const pthread_condattr_t *attr,
clockid_t *clock_id)
{
return 0;
}
+RTM_EXPORT(pthread_condattr_getclock);
int pthread_condattr_setclock(pthread_condattr_t *attr,
clockid_t clock_id)
{
return 0;
}
+RTM_EXPORT(pthread_condattr_setclock);
int pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared)
{
@@ -35,6 +39,7 @@ int pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared) *pshared = PTHREAD_PROCESS_PRIVATE;
return 0;
}
+RTM_EXPORT(pthread_condattr_getpshared);
int pthread_condattr_setpshared(pthread_condattr_t*attr, int pshared)
{
@@ -46,6 +51,7 @@ int pthread_condattr_setpshared(pthread_condattr_t*attr, int pshared) return 0;
}
+RTM_EXPORT(pthread_condattr_setpshared);
int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr)
{
@@ -69,6 +75,7 @@ int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr) return 0;
}
+RTM_EXPORT(pthread_cond_init);
int pthread_cond_destroy(pthread_cond_t *cond)
{
@@ -85,6 +92,7 @@ int pthread_cond_destroy(pthread_cond_t *cond) return 0;
}
+RTM_EXPORT(pthread_cond_destroy);
int pthread_cond_broadcast(pthread_cond_t *cond)
{
@@ -118,6 +126,7 @@ int pthread_cond_broadcast(pthread_cond_t *cond) return 0;
}
+RTM_EXPORT(pthread_cond_broadcast);
int pthread_cond_signal(pthread_cond_t *cond)
{
@@ -131,6 +140,7 @@ int pthread_cond_signal(pthread_cond_t *cond) return 0;
}
+RTM_EXPORT(pthread_cond_signal);
rt_err_t _pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
rt_int32_t timeout)
@@ -152,6 +162,7 @@ rt_err_t _pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, pthread_mutex_lock(mutex);
return result;
}
+RTM_EXPORT(_pthread_cond_timedwait);
int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
{
@@ -162,6 +173,7 @@ int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) return EINVAL;
}
+RTM_EXPORT(pthread_cond_wait);
int pthread_cond_timedwait(pthread_cond_t *cond,
pthread_mutex_t * mutex,
@@ -177,3 +189,5 @@ int pthread_cond_timedwait(pthread_cond_t *cond, return EINVAL;
}
+RTM_EXPORT(pthread_cond_timedwait);
+
diff --git a/components/pthreads/pthread_mutex.c b/components/pthreads/pthread_mutex.c index 3aeaf447b3..486b389b1c 100644 --- a/components/pthreads/pthread_mutex.c +++ b/components/pthreads/pthread_mutex.c @@ -16,6 +16,7 @@ int pthread_mutexattr_init(pthread_mutexattr_t *attr) return EINVAL;
}
+RTM_EXPORT(pthread_mutexattr_init);
int pthread_mutexattr_destroy(pthread_mutexattr_t *attr)
{
@@ -27,6 +28,7 @@ int pthread_mutexattr_destroy(pthread_mutexattr_t *attr) return EINVAL;
}
+RTM_EXPORT(pthread_mutexattr_destroy);
int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *type)
{
@@ -43,6 +45,7 @@ int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *type) return EINVAL;
}
+RTM_EXPORT(pthread_mutexattr_gettype);
int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type)
{
@@ -55,6 +58,7 @@ int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type) return EINVAL;
}
+RTM_EXPORT(pthread_mutexattr_settype);
int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, int pshared)
{
@@ -73,6 +77,7 @@ int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, int pshared) return EINVAL;
}
+RTM_EXPORT(pthread_mutexattr_setpshared);
int pthread_mutexattr_getpshared(pthread_mutexattr_t *attr, int *pshared)
{
@@ -82,6 +87,7 @@ int pthread_mutexattr_getpshared(pthread_mutexattr_t *attr, int *pshared) : PTHREAD_PROCESS_PRIVATE;
return 0;
}
+RTM_EXPORT(pthread_mutexattr_getpshared);
int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)
{
@@ -105,6 +111,7 @@ int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr) return 0;
}
+RTM_EXPORT(pthread_mutex_init);
int pthread_mutex_destroy(pthread_mutex_t *mutex)
{
@@ -118,6 +125,7 @@ int pthread_mutex_destroy(pthread_mutex_t *mutex) return 0;
}
+RTM_EXPORT(pthread_mutex_destroy);
int pthread_mutex_lock(pthread_mutex_t *mutex)
{
@@ -146,6 +154,7 @@ int pthread_mutex_lock(pthread_mutex_t *mutex) return EINVAL;
}
+RTM_EXPORT(pthread_mutex_lock);
int pthread_mutex_unlock(pthread_mutex_t *mutex)
{
@@ -175,6 +184,7 @@ int pthread_mutex_unlock(pthread_mutex_t *mutex) return EINVAL;
}
+RTM_EXPORT(pthread_mutex_unlock);
int pthread_mutex_trylock(pthread_mutex_t *mutex)
{
@@ -192,4 +202,5 @@ int pthread_mutex_trylock(pthread_mutex_t *mutex) return EBUSY;
}
+RTM_EXPORT(pthread_mutex_trylock);
diff --git a/components/pthreads/pthread_rwlock.c b/components/pthreads/pthread_rwlock.c index 5ee7a13531..18c5115af5 100644 --- a/components/pthreads/pthread_rwlock.c +++ b/components/pthreads/pthread_rwlock.c @@ -7,6 +7,7 @@ int pthread_rwlockattr_init (pthread_rwlockattr_t * attr) return 0;
}
+RTM_EXPORT(pthread_rwlockattr_init);
int pthread_rwlockattr_destroy (pthread_rwlockattr_t * attr)
{
@@ -14,6 +15,7 @@ int pthread_rwlockattr_destroy (pthread_rwlockattr_t * attr) return 0;
}
+RTM_EXPORT(pthread_rwlockattr_destroy);
int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * attr, int *pshared)
{
@@ -22,6 +24,7 @@ int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * attr, int *pshar *pshared = PTHREAD_PROCESS_PRIVATE;
return 0;
}
+RTM_EXPORT(pthread_rwlockattr_getpshared);
int pthread_rwlockattr_setpshared (pthread_rwlockattr_t * attr, int pshared)
{
@@ -29,6 +32,7 @@ int pthread_rwlockattr_setpshared (pthread_rwlockattr_t * attr, int pshared) return 0;
}
+RTM_EXPORT(pthread_rwlockattr_setpshared);
int pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t * attr)
{
@@ -45,6 +49,7 @@ int pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t * return 0;
}
+RTM_EXPORT(pthread_rwlock_init);
int pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
{
@@ -91,6 +96,7 @@ int pthread_rwlock_destroy (pthread_rwlock_t *rwlock) return result;
}
+RTM_EXPORT(pthread_rwlock_destroy);
int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
{
@@ -118,6 +124,7 @@ int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock) pthread_mutex_unlock(&rwlock->rw_mutex);
return (result);
}
+RTM_EXPORT(pthread_rwlock_rdlock);
int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
{
@@ -137,6 +144,7 @@ int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock) pthread_mutex_unlock(&rwlock->rw_mutex);
return(result);
}
+RTM_EXPORT(pthread_rwlock_tryrdlock);
int pthread_rwlock_timedrdlock (pthread_rwlock_t * rwlock, const struct timespec *abstime)
{
@@ -164,6 +172,7 @@ int pthread_rwlock_timedrdlock (pthread_rwlock_t * rwlock, const struct timespec pthread_mutex_unlock(&rwlock->rw_mutex);
return (result);
}
+RTM_EXPORT(pthread_rwlock_timedrdlock);
int pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock, const struct timespec *abstime)
{
@@ -189,6 +198,7 @@ int pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock, const struct timespec pthread_mutex_unlock(&rwlock->rw_mutex);
return(result);
}
+RTM_EXPORT(pthread_rwlock_timedwrlock);
int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
{
@@ -208,6 +218,7 @@ int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock) pthread_mutex_unlock(&rwlock->rw_mutex);
return(result);
}
+RTM_EXPORT(pthread_rwlock_trywrlock);
int pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
{
@@ -238,6 +249,7 @@ int pthread_rwlock_unlock (pthread_rwlock_t *rwlock) pthread_mutex_unlock(&rwlock->rw_mutex);
return(result);
}
+RTM_EXPORT(pthread_rwlock_unlock);
int pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
{
@@ -263,4 +275,5 @@ int pthread_rwlock_wrlock (pthread_rwlock_t *rwlock) pthread_mutex_unlock(&rwlock->rw_mutex);
return(result);
}
+RTM_EXPORT(pthread_rwlock_wrlock);
diff --git a/components/pthreads/pthread_tls.c b/components/pthreads/pthread_tls.c index c01840df59..9649b5dafc 100644 --- a/components/pthreads/pthread_tls.c +++ b/components/pthreads/pthread_tls.c @@ -22,6 +22,7 @@ void *pthread_getspecific(pthread_key_t key) return NULL;
}
+RTM_EXPORT(pthread_getspecific);
int pthread_setspecific(pthread_key_t key, const void *value)
{
@@ -44,6 +45,7 @@ int pthread_setspecific(pthread_key_t key, const void *value) return EINVAL;
}
+RTM_EXPORT(pthread_setspecific);
int pthread_key_create(pthread_key_t *key, void (*destructor)(void*))
{
@@ -67,6 +69,7 @@ int pthread_key_create(pthread_key_t *key, void (*destructor)(void*)) rt_exit_critical();
return EAGAIN;
}
+RTM_EXPORT(pthread_key_create);
int pthread_key_delete(pthread_key_t key)
{
@@ -79,4 +82,5 @@ int pthread_key_delete(pthread_key_t key) return 0;
}
+RTM_EXPORT(pthread_key_delete);
diff --git a/components/pthreads/sched.c b/components/pthreads/sched.c index f0dcedbfb7..9c57ba2345 100644 --- a/components/pthreads/sched.c +++ b/components/pthreads/sched.c @@ -5,6 +5,7 @@ int sched_yield(void) rt_thread_yield();
return 0;
}
+RTM_EXPORT(sched_yield);
int sched_get_priority_min(int policy)
{
@@ -13,6 +14,7 @@ int sched_get_priority_min(int policy) return 0;
}
+RTM_EXPORT(sched_get_priority_min);
int sched_get_priority_max(int policy)
{
@@ -21,8 +23,10 @@ int sched_get_priority_max(int policy) return RT_THREAD_PRIORITY_MAX - 1;
}
+RTM_EXPORT(sched_get_priority_max);
int sched_setscheduler(pid_t pid, int policy)
{
return ENOTSUP;
}
+RTM_EXPORT(sched_setscheduler);
diff --git a/components/pthreads/semaphore.c b/components/pthreads/semaphore.c index eb275ed9b3..23a73ed093 100644 --- a/components/pthreads/semaphore.c +++ b/components/pthreads/semaphore.c @@ -1,6 +1,6 @@ #include <rtthread.h> #include "semaphore.h" -#include "pthread_internal.h"
+#include "pthread_internal.h" static sem_t* posix_sem_list = RT_NULL; static struct rt_semaphore posix_sem_lock; @@ -58,8 +58,8 @@ static sem_t *posix_sem_find(const char* name) { return iter; } - }
-
+ } + return RT_NULL; } @@ -85,6 +85,7 @@ int sem_close(sem_t *sem) return 0; } +RTM_EXPORT(sem_close); int sem_destroy(sem_t *sem) { @@ -112,6 +113,7 @@ int sem_destroy(sem_t *sem) return 0; } +RTM_EXPORT(sem_destroy); int sem_unlink(const char *name) { @@ -137,6 +139,7 @@ int sem_unlink(const char *name) rt_set_errno(ENOENT); return -1; } +RTM_EXPORT(sem_unlink); int sem_getvalue(sem_t *sem, int *sval) { @@ -148,6 +151,7 @@ int sem_getvalue(sem_t *sem, int *sval) *sval = sem->sem->value; return 0; } +RTM_EXPORT(sem_getvalue); int sem_init(sem_t *sem, int pshared, unsigned int value) { @@ -179,6 +183,7 @@ int sem_init(sem_t *sem, int pshared, unsigned int value) return 0; } +RTM_EXPORT(sem_init); sem_t *sem_open(const char *name, int oflag, ...) { @@ -259,6 +264,7 @@ __return: } return RT_NULL; } +RTM_EXPORT(sem_open); int sem_post(sem_t *sem) { @@ -276,6 +282,7 @@ int sem_post(sem_t *sem) rt_set_errno(EINVAL); return -1; } +RTM_EXPORT(sem_post); int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout) { @@ -298,6 +305,7 @@ int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout) rt_set_errno(EINTR); return -1; } +RTM_EXPORT(sem_timedwait); int sem_trywait(sem_t *sem) { @@ -320,6 +328,7 @@ int sem_trywait(sem_t *sem) rt_set_errno(EINTR); return -1; } +RTM_EXPORT(sem_trywait); int sem_wait(sem_t *sem) { @@ -337,4 +346,5 @@ int sem_wait(sem_t *sem) rt_set_errno(EINTR); return -1; } +RTM_EXPORT(sem_wait); |
