1. Move pthread_yield from sched/pthreads to libc/pthreads. it is a simple wrapper for sched_yield and does not belong within the OS.
2. Move pthread_once from sched/pthreads to libc/pthreads. pthread_once just coordinates other OS interface calls
but is not a fundamental OS interface and, hence, does not belong within the OS.
3. Move pthread_cond_init and pthread_cond_destory from sched/pthreads to libc/pthreads. This just coordinate other OS
interface calls but are not a fundamental OS interfaces and, hence, do not belong within the OS.
4. Move pthread_barrier_init, pthread_barrier_destroy, and pthread_barrier_wait from sched/pthreads to libc/pthreads.
This just coordinate other OS interface calls but are not a fundamental OS interfaces and, hence, do not belong within the OS.
Change-Id: I00307a32376f57064a41f61881a16f4d384e20c4
Signed-off-by: jc_.kim <jc_.kim@samsung.com>
"pthread_barrierattr_getpshared", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR const pthread_barrierattr_t *", "FAR int *"
"pthread_barrierattr_init", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_barrierattr_t *"
"pthread_barrierattr_setpshared", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_barrierattr_t *", "int"
+"pthread_barrier_destroy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_barrier_t*"
+"pthread_barrier_init","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_barrier_t*","FAR const pthread_barrierattr_t*","unsigned int"
+"pthread_barrier_wait","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_barrier_t*"
"pthread_condattr_destroy", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_condattr_t *"
"pthread_condattr_init", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_condattr_t *"
+"pthread_cond_destroy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_cond_t*"
+"pthread_cond_init","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_cond_t*","FAR const pthread_condattr_t*"
"pthread_mutexattr_destroy", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_mutexattr_t *"
"pthread_mutexattr_getpshared", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_mutexattr_t *", "FAR int *"
"pthread_mutexattr_gettype", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD) && defined(CONFIG_PTHREAD_MUTEX_TYPES)", "int", "const pthread_mutexattr_t *", "int *"
"pthread_mutexattr_init", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_mutexattr_t *"
"pthread_mutexattr_setpshared", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_mutexattr_t *", "int "
"pthread_mutexattr_settype", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD) && defined(CONFIG_PTHREAD_MUTEX_TYPES)", "int", "pthread_mutexattr_t *", "int"
+"pthread_once","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_once_t*","CODE void (*)(void)"
+"pthread_yield","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","void"
"puts", "stdio.h", "CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0", "int", "FAR const char *"
"qsort", "stdlib.h", "", "void", "void *", "size_t", "size_t", "int(*)(const void *", "const void *)"
"rand", "stdlib.h", "", "int"
CSRCS += pthread_attrsetschedparam.c pthread_attrgetschedparam.c
CSRCS += pthread_barrierattrinit.c pthread_barrierattrdestroy.c
CSRCS += pthread_barrierattrgetpshared.c pthread_barrierattrsetpshared.c
+CSRCS += pthread_barrierinit.c pthread_barrierdestroy.c pthread_barrierwait.c
CSRCS += pthread_condattrinit.c pthread_condattrdestroy.c
+CSRCS += pthread_condinit.c pthread_conddestroy.c
CSRCS += pthread_mutexattrinit.c pthread_mutexattrdestroy.c
CSRCS += pthread_mutexattrgetpshared.c pthread_mutexattrsetpshared.c
CSRCS += pthread_mutexattr_setprotocol.c pthread_mutexattr_getprotocol.c
CSRCS += pthread_setcancelstate.c pthread_setcanceltype.c
CSRCS += pthread_testcancel.c
CSRCS += pthread_rwlock.c pthread_rwlock_rdlock.c pthread_rwlock_wrlock.c
+CSRCS += pthread_once.c pthread_yield.c
ifeq ($(CONFIG_ENABLE_IOTIVITY),y)
CSRCS += pthread_condattrsetclock.c
*
****************************************************************************/
/********************************************************************************
- * kernel/pthread/pthread_barriedestroy.c
+ * libc/pthread/pthread_barriedestroy.c
*
* Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
****************************************************************************/
/********************************************************************************
- * kernel/pthread/pthread_barrieinit.c
+ * libc/pthread/pthread_barrieinit.c
*
* Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
****************************************************************************/
/********************************************************************************
- * kernel/pthread/pthread_barrierwait.c
+ * libc/pthread/pthread_barrierwait.c
*
* Copyright (C) 2007, 2009, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
****************************************************************************/
/****************************************************************************
- * kernel/pthread/pthread_conddestroy.c
+ * libc/pthread/pthread_conddestroy.c
*
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
#include <pthread.h>
#include <debug.h>
#include <errno.h>
-#include "pthread/pthread.h"
/****************************************************************************
* Global Functions
*
****************************************************************************/
/****************************************************************************
- * kernel/pthread/pthread_condinit.c
+ * libc/pthread/pthread_condinit.c
*
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
#include <debug.h>
#include <errno.h>
-#include "pthread/pthread.h"
-
/****************************************************************************
* Global Functions
****************************************************************************/
*
****************************************************************************/
/********************************************************************************
- * kernel/pthread/pthread_once.c
+ * libc/pthread/pthread_once.c
*
* Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
****************************************************************************/
/************************************************************************
- * kernel/pthread/pthread_yield.c
+ * libc/pthread/pthread_yield.c
*
* Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
/* The following are defined if pthreads are enabled */
#ifndef CONFIG_DISABLE_PTHREAD
-#define SYS_pthread_barrier_destroy (__SYS_pthread+0)
-#define SYS_pthread_barrier_init (__SYS_pthread+1)
-#define SYS_pthread_barrier_wait (__SYS_pthread+2)
-#define SYS_pthread_cancel (__SYS_pthread+3)
-#define SYS_pthread_cond_broadcast (__SYS_pthread+4)
-#define SYS_pthread_cond_destroy (__SYS_pthread+5)
-#define SYS_pthread_cond_init (__SYS_pthread+6)
-#define SYS_pthread_cond_signal (__SYS_pthread+7)
-#define SYS_pthread_cond_wait (__SYS_pthread+8)
-#define SYS_pthread_create (__SYS_pthread+9)
-#define SYS_pthread_detach (__SYS_pthread+10)
-#define SYS_pthread_exit (__SYS_pthread+11)
-#define SYS_pthread_getschedparam (__SYS_pthread+12)
-#define SYS_pthread_getspecific (__SYS_pthread+13)
-#define SYS_pthread_join (__SYS_pthread+14)
-#define SYS_pthread_key_create (__SYS_pthread+15)
-#define SYS_pthread_key_delete (__SYS_pthread+16)
-#define SYS_pthread_mutex_destroy (__SYS_pthread+17)
-#define SYS_pthread_mutex_init (__SYS_pthread+18)
-#define SYS_pthread_mutex_lock (__SYS_pthread+19)
-#define SYS_pthread_mutex_trylock (__SYS_pthread+20)
-#define SYS_pthread_mutex_unlock (__SYS_pthread+21)
-#define SYS_pthread_once (__SYS_pthread+22)
-#define SYS_pthread_setcancelstate (__SYS_pthread+23)
-#define SYS_pthread_setschedparam (__SYS_pthread+24)
-#define SYS_pthread_setschedprio (__SYS_pthread+25)
-#define SYS_pthread_setspecific (__SYS_pthread+26)
-#define SYS_pthread_yield (__SYS_pthread+27)
+#define SYS_pthread_cancel (__SYS_pthread+0)
+#define SYS_pthread_cond_broadcast (__SYS_pthread+1)
+#define SYS_pthread_cond_signal (__SYS_pthread+2)
+#define SYS_pthread_cond_wait (__SYS_pthread+3)
+#define SYS_pthread_create (__SYS_pthread+4)
+#define SYS_pthread_detach (__SYS_pthread+5)
+#define SYS_pthread_exit (__SYS_pthread+6)
+#define SYS_pthread_getschedparam (__SYS_pthread+7)
+#define SYS_pthread_getspecific (__SYS_pthread+8)
+#define SYS_pthread_join (__SYS_pthread+9)
+#define SYS_pthread_key_create (__SYS_pthread+10)
+#define SYS_pthread_key_delete (__SYS_pthread+11)
+#define SYS_pthread_mutex_destroy (__SYS_pthread+12)
+#define SYS_pthread_mutex_init (__SYS_pthread+13)
+#define SYS_pthread_mutex_lock (__SYS_pthread+14)
+#define SYS_pthread_mutex_trylock (__SYS_pthread+15)
+#define SYS_pthread_mutex_unlock (__SYS_pthread+16)
+#define SYS_pthread_setcancelstate (__SYS_pthread+17)
+#define SYS_pthread_setschedparam (__SYS_pthread+18)
+#define SYS_pthread_setschedprio (__SYS_pthread+19)
+#define SYS_pthread_setspecific (__SYS_pthread+20)
#ifndef CONFIG_DISABLE_SIGNAL
-#define SYS_pthread_cond_timedwait (__SYS_pthread+28)
-#define SYS_pthread_kill (__SYS_pthread+29)
-#define SYS_pthread_sigmask (__SYS_pthread+30)
-#define __SYS_mqueue (__SYS_pthread+31)
+#define SYS_pthread_cond_timedwait (__SYS_pthread+21)
+#define SYS_pthread_kill (__SYS_pthread+22)
+#define SYS_pthread_sigmask (__SYS_pthread+23)
+#define __SYS_mqueue (__SYS_pthread+24)
#else
-#define __SYS_mqueue (__SYS_pthread+28)
+#define __SYS_mqueue (__SYS_pthread+21)
#endif
#else
ifneq ($(CONFIG_DISABLE_PTHREAD),y)
CSRCS += pthread_create.c pthread_exit.c pthread_join.c pthread_detach.c
-CSRCS += pthread_yield.c pthread_getschedparam.c pthread_setschedparam.c
+CSRCS += pthread_getschedparam.c pthread_setschedparam.c
CSRCS += pthread_mutexinit.c pthread_mutexdestroy.c
CSRCS += pthread_mutexlock.c pthread_mutextrylock.c pthread_mutexunlock.c
-CSRCS += pthread_condinit.c pthread_conddestroy.c
CSRCS += pthread_condwait.c pthread_condsignal.c pthread_condbroadcast.c
-CSRCS += pthread_barrierinit.c pthread_barrierdestroy.c pthread_barrierwait.c
CSRCS += pthread_cancel.c
CSRCS += pthread_keycreate.c pthread_setspecific.c pthread_getspecific.c pthread_keydelete.c
CSRCS += pthread_initialize.c pthread_completejoin.c pthread_findjoininfo.c
-CSRCS += pthread_once.c pthread_release.c pthread_setschedprio.c
+CSRCS += pthread_release.c pthread_setschedprio.c
ifneq ($(CONFIG_PTHREAD_MUTEX_UNSAFE),y)
CSRCS += pthread_mutex.c pthread_mutexconsistent.c pthread_mutexinconsistent.c
"pwrite", "unistd.h", "CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0", "ssize_t", "int", "FAR const void*", "size_t", "off_t"
"posix_spawnp", "spawn.h", "defined(CONFIG_LIBC_EXECFUNCS)", "int", "FAR pid_t *", "FAR const char *", "FAR const posix_spawn_file_actions_t *", "FAR const posix_spawnattr_t *", "FAR char *const []|FAR char *const *", "FAR char *const []"
"posix_spawn", "spawn.h", "defined(CONFIG_LIBC_EXECFUNCS)", "int", "FAR pid_t *", "FAR const char *", "FAR const posix_spawn_file_actions_t *", "FAR const posix_spawnattr_t *", "FAR char *const []|FAR char *const *", "FAR char *const []|FAR char *const *"
-"pthread_barrier_destroy", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_barrier_t*"
-"pthread_barrier_init", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_barrier_t*", "FAR const pthread_barrierattr_t*", "unsigned int"
-"pthread_barrier_wait", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_barrier_t*"
"pthread_cancel", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "pthread_t"
"pthread_cond_broadcast", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_cond_t*"
-"pthread_cond_destroy", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_cond_t*"
-"pthread_cond_init", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_cond_t*", "FAR const pthread_condattr_t*"
"pthread_cond_signal", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_cond_t*"
"pthread_cond_timedwait", "pthread.h", "!defined(CONFIG_DISABLE_SIGNALS) && !defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_cond_t*", "FAR pthread_mutex_t*", "FAR const struct timespec*"
"pthread_cond_wait", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_cond_t*", "FAR pthread_mutex_t*"
"pthread_mutex_lock", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_mutex_t*"
"pthread_mutex_trylock", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_mutex_t*"
"pthread_mutex_unlock", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_mutex_t*"
-"pthread_once", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "FAR pthread_once_t*", "CODE void (*)(void)"
"pthread_setcancelstate", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "int", "FAR int*"
"pthread_setschedparam", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "pthread_t", "int", "FAR const struct sched_param*"
"pthread_setschedprio", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "pthread_t", "int"
"pthread_setspecific", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "int", "pthread_key_t", "FAR const void*"
"pthread_sigmask", "pthread.h", "!defined(CONFIG_DISABLE_SIGNALS) && !defined(CONFIG_DISABLE_PTHREAD)", "int", "int", "FAR const sigset_t*", "FAR sigset_t*"
-"pthread_yield", "pthread.h", "!defined(CONFIG_DISABLE_PTHREAD)", "void"
"putenv", "stdlib.h", "!defined(CONFIG_DISABLE_ENVIRON)", "int", "FAR const char*"
"read", "unistd.h", "CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0", "ssize_t", "int", "FAR void*", "size_t"
"readdir", "dirent.h", "CONFIG_NFILE_DESCRIPTORS > 0", "FAR struct dirent*", "FAR DIR*"
/* The following are defined if pthreads are enabled */
#ifndef CONFIG_DISABLE_PTHREAD
-SYSCALL_LOOKUP(pthread_barrier_destroy, 1, STUB_pthread_barrier_destroy)
-SYSCALL_LOOKUP(pthread_barrier_init, 3, STUB_pthread_barrier_init)
-SYSCALL_LOOKUP(pthread_barrier_wait, 1, STUB_pthread_barrier_wait)
SYSCALL_LOOKUP(pthread_cancel, 1, STUB_pthread_cancel)
SYSCALL_LOOKUP(pthread_cond_broadcast, 1, STUB_pthread_cond_broadcast)
-SYSCALL_LOOKUP(pthread_cond_destroy, 1, STUB_pthread_cond_destroy)
-SYSCALL_LOOKUP(pthread_cond_init, 2, STUB_pthread_cond_init)
SYSCALL_LOOKUP(pthread_cond_signal, 1, STUB_pthread_cond_signal)
SYSCALL_LOOKUP(pthread_cond_wait, 2, STUB_pthread_cond_wait)
SYSCALL_LOOKUP(pthread_create, 4, STUB_pthread_create)
SYSCALL_LOOKUP(pthread_mutex_lock, 1, STUB_pthread_mutex_lock)
SYSCALL_LOOKUP(pthread_mutex_trylock, 1, STUB_pthread_mutex_trylock)
SYSCALL_LOOKUP(pthread_mutex_unlock, 1, STUB_pthread_mutex_unlock)
-SYSCALL_LOOKUP(pthread_once, 2, STUB_pthread_once)
SYSCALL_LOOKUP(pthread_setcancelstate, 2, STUB_pthread_setcancelstate)
SYSCALL_LOOKUP(pthread_setschedparam, 3, STUB_pthread_setschedparam)
SYSCALL_LOOKUP(pthread_setschedprio, 2, STUB_pthread_setschedprio)
SYSCALL_LOOKUP(pthread_setspecific, 2, STUB_pthread_setspecific)
-SYSCALL_LOOKUP(pthread_yield, 0, STUB_pthread_yield)
# ifndef CONFIG_DISABLE_SIGNAL
SYSCALL_LOOKUP(pthread_cond_timedwait, 3, STUB_pthread_cond_timedwait)
SYSCALL_LOOKUP(pthread_kill, 2, STUB_pthread_kill)
/* The following are defined if pthreads are enabled */
-uintptr_t STUB_pthread_barrier_destroy(int nbr, uintptr_t parm1);
-uintptr_t STUB_pthread_barrier_init(int nbr, uintptr_t parm1,
- uintptr_t parm2, uintptr_t parm3);
-uintptr_t STUB_pthread_barrier_wait(int nbr, uintptr_t parm1);
uintptr_t STUB_pthread_cancel(int nbr, uintptr_t parm1);
uintptr_t STUB_pthread_cond_broadcast(int nbr, uintptr_t parm1);
-uintptr_t STUB_pthread_cond_destroy(int nbr, uintptr_t parm1);
-uintptr_t STUB_pthread_cond_init(int nbr, uintptr_t parm1, uintptr_t parm2);
uintptr_t STUB_pthread_cond_signal(int nbr, uintptr_t parm1);
uintptr_t STUB_pthread_cond_wait(int nbr, uintptr_t parm1, uintptr_t parm2);
uintptr_t STUB_pthread_create(int nbr, uintptr_t parm1, uintptr_t parm2,
uintptr_t STUB_pthread_mutex_lock(int nbr, uintptr_t parm1);
uintptr_t STUB_pthread_mutex_trylock(int nbr, uintptr_t parm1);
uintptr_t STUB_pthread_mutex_unlock(int nbr, uintptr_t parm1);
-uintptr_t STUB_pthread_once(int nbr, uintptr_t parm1, uintptr_t parm2);
uintptr_t STUB_pthread_setcancelstate(int nbr, uintptr_t parm1,
uintptr_t parm2);
uintptr_t STUB_pthread_setschedparam(int nbr, uintptr_t parm1,
uintptr_t parm2);
uintptr_t STUB_pthread_setspecific(int nbr, uintptr_t parm1,
uintptr_t parm2);
-uintptr_t STUB_pthread_yield(int nbr);
uintptr_t STUB_pthread_cond_timedwait(int nbr, uintptr_t parm1,
uintptr_t parm2, uintptr_t parm3);