Commit Graph

913 Commits

Author SHA1 Message Date
Chris Johns
40398c45dc posix: Handle recursive attributes correctly.
The recursive field in the pthread_mutexattr_t is now not used. The
code in pthread_mutexattr_settype only sets the type field and not
the recursive field.
2013-08-14 09:29:56 +10:00
Sebastian Huber
6b4e448ebe PR766: Delete __RTEMS_INSIDE__ 2013-08-08 14:11:22 +02:00
Sebastian Huber
c9b784f3e7 posix: Delete POSIX_Keys_Freechain type
Use the POSIX configuration value directly.  Use right type early and
avoid casts.  Use proper unlimited objects API.  Check workspace
allocation.  Make functions static.
2013-08-08 14:11:21 +02:00
Chris Johns
f65e8e66d0 posix: Add missing header. 2013-08-08 10:21:54 +10:00
Sebastian Huber
b45b0ff783 posix: Use _Objects_Put() for POSIX keys 2013-08-06 15:49:34 +02:00
Sebastian Huber
2ad250e92d posix: Create key implementation header
Move implementation specific parts of key.h and key.inl into new header
file keyimpl.h.  The key.h contains now only the application visible
API.
2013-08-06 15:47:57 +02:00
Zhongwei Yao
b5c906429f Unlimited objects support for POSIX keys
This patch enables unlimited model in POSIX key manger and have a decent
runtime on POSIX key searching, adding and deleting operations.  Memory
overhead is lower than current implementation when the size of key and key
value becomes big.
2013-08-06 14:11:38 +02:00
R. Diez
ffa2defc78 Fix compiler warnings 2013-08-06 11:02:56 +02:00
Sebastian Huber
f031df0e63 score: Rename tod.h to todimpl.h 2013-08-01 16:45:45 +02:00
Sebastian Huber
0628824714 posix: Simplify pthread_kill()
Delete _Thread_Signal_notification() since this is a side-effect of
_POSIX_signals_Unblock_thread().
2013-07-30 09:53:25 +02:00
Sebastian Huber
6c0e43d31a score: Add and use _Thread_Signal_notification() 2013-07-30 09:53:25 +02:00
Sebastian Huber
88c74ab115 score: Merge tod implementation into one file
Delete TOD_MICROSECONDS_PER_SECOND, TOD_MICROSECONDS_TO_TICKS() and
TOD_MILLISECONDS_TO_TICKS().
2013-07-26 11:55:47 +02:00
Sebastian Huber
a2e3f33f39 score: Create object implementation header
Move implementation specific parts of object.h and object.inl into new
header file objectimpl.h.  The object.h contains now only the
application visible API.
2013-07-26 11:55:47 +02:00
Sebastian Huber
0c3edbf0cf Include missing <rtems/score/threaddispatch.h> 2013-07-26 11:55:47 +02:00
Sebastian Huber
7f04cb18ff score: Create mpci implementation header
Move implementation specific parts of mpci.h into new header file
mpciimpl.h.  The mpci.h contains now only the application visible API.
2013-07-26 11:55:46 +02:00
Sebastian Huber
a1123646ac score: Create threadq implementation header
Move implementation specific parts of tqdata.h, threadq.h and
threadq.inl into new header file threadqimpl.h.  The threadq.h contains
now only the application visible API.

Delete tqdata.h.
2013-07-26 11:55:45 +02:00
Sebastian Huber
fe6c170cf5 score: Create states implementation header
Move implementation specific parts of states.h and states.inl into new
header file statesimpl.h.  The states.h contains now only the
application visible API.
2013-07-26 11:55:45 +02:00
Sebastian Huber
5618c37a7a score: Create thread implementation header
Move implementation specific parts of thread.h and thread.inl into new
header file threadimpl.h.  The thread.h contains now only the
application visible API.

Remove superfluous header file includes from various files.
2013-07-26 11:55:44 +02:00
Sebastian Huber
c6e21ee18f score: Create scheduler implementation header
Move implementation specific parts of scheduler.h and scheduler.inl into
new header file schedulerimpl.h.  The scheduler.h contains now only the
application visible API.
2013-07-26 11:55:44 +02:00
Sahil Patnayakunii
cc86fe1fd2 POSIX Semaphore: Add restrict keyword per Single UNIX Specification 2013-07-24 13:14:29 -05:00
Sahil Patnayakunii
4343f5b4c7 POSIX AIO: Add restrict keyword per Single UNIX Specification 2013-07-24 13:14:29 -05:00
Sahil Patnayakunii
f74a492cf6 POSIX mqueue.h: Add restrict keyword per Single UNIX Specification 2013-07-24 13:14:28 -05:00
Sebastian Huber
218286bc05 score: Create stack implementation header
Move implementation specific parts of stack.h and stack.inl into new
header file stackimpl.h.  The stack.h contains now only the application
visible API.
2013-07-23 17:19:08 +02:00
Sebastian Huber
f41eeb030b posix: Include missing <stdint.h> 2013-07-23 17:19:08 +02:00
Sebastian Huber
be1b8a7a05 posix: Include proper header file 2013-07-23 09:15:12 +02:00
Sebastian Huber
c2d6447df9 posix: Protect ualarm()
Use thread dispatch disable/enable to ensure thread level mutual
exlusion.
2013-07-22 16:57:26 +02:00
Sebastian Huber
43f97f1de9 posix: Statically init _POSIX_signals_Ualarm_timer 2013-07-22 16:57:26 +02:00
Sebastian Huber
a9cc1beb42 posix: Protect alarm()
Use thread dispatch disable/enable to ensure thread level mutual
exlusion.
2013-07-22 16:57:26 +02:00
Sebastian Huber
e2005af632 posix: Statically init _POSIX_signals_Alarm_timer 2013-07-22 16:57:26 +02:00
Sebastian Huber
4b48ece07d score: Create watchdog implementation header
Move implementation specific parts of watchdog.h and watchdog.inl into
new header file watchdogimpl.h.  The watchdog.h contains now only the
application visible API.
2013-07-22 16:57:25 +02:00
Sebastian Huber
47ac81f645 posix: Obtain _Thread_Executing in proper context 2013-07-22 16:57:25 +02:00
Sebastian Huber
768c5cee18 posix: Obtain _Thread_Executing in proper context 2013-07-22 16:57:25 +02:00
Sebastian Huber
c71b596c4e score: Create spinlock implementation header
Move implementation specific parts of corespinlock.h and
corespinlock.inl into new header file corespinlockimpl.h.  The
corespinlock.h contains now only the application visible API.
2013-07-22 16:57:24 +02:00
Sebastian Huber
eb448eece9 posix: Create spinlock implementation header
Move implementation specific parts of spinlock.h and spinlock.inl into
new header file spinlockimpl.h.  The spinlock.h contains now only the
application visible API.
2013-07-22 16:57:24 +02:00
Sebastian Huber
f17c779828 posix: Create timer implementation header
Move implementation specific parts of timer.h and timer.inl into new
header file timerimpl.h.  The timer.h contains now only the application
visible API.
2013-07-22 16:57:24 +02:00
Sebastian Huber
982e97463f score: Avoid direct usage of _Thread_Executing
Pass the executing thread as a function parameter.  Obtain the executing
thread inside a thread dispatch critical section to avoid problems on
SMP.
2013-07-22 16:57:23 +02:00
Sebastian Huber
cbdabc8b30 score: Create rwlock implementation header
Move implementation specific parts of corerwlock.h and corerwlock.inl
into new header file corerwlockimpl.h.  The corerwlock.h contains now
only the application visible API.
2013-07-22 16:57:23 +02:00
Sebastian Huber
0e8656b49e posix: Create rwlock implementation header
Move implementation specific parts of rwlock.h and rwlock.inl into new
header file rwlockimpl.h.  The rwlock.h contains now only the
application visible API.
2013-07-22 16:57:23 +02:00
Sebastian Huber
0c5317d16c posix: Create pthread implementation header
Move implementation specific parts of pthread.h and pthread.inl into new
header file pthreadimpl.h.  The pthread.h contains now only the
application visible API.
2013-07-22 16:57:23 +02:00
Sebastian Huber
97552c98b6 posix: Create priority implementation header
Move implementation specific parts of priority.h and priority.inl into
new header file priorityimpl.h.  Remove priority.h since there is no
application visible API.
2013-07-22 16:57:23 +02:00
Sebastian Huber
4cb8e597a7 score: Obtain _Thread_Executing in proper context 2013-07-22 16:57:22 +02:00
Sebastian Huber
35210b128c posix: Create condition variable impl header
Move implementation specific parts of cond.h and cond.inl into new
header file condimpl.h.  The cond.h contains now only the application
visible API.
2013-07-22 16:57:22 +02:00
Sebastian Huber
0444947e63 score: Avoid direct usage of _Thread_Executing
Pass the executing thread as a function parameter.  Obtain the executing
thread inside a thread dispatch critical section to avoid problems on
SMP.
2013-07-22 16:57:21 +02:00
Sebastian Huber
bb2d9f9b36 score: Create barrier implementation header
Move implementation specific parts of corebarrier.h and corebarrier.inl
into new header file corebarrierimpl.h.  The corebarrier.h contains now
only the application visible API.
2013-07-22 16:57:21 +02:00
Sebastian Huber
6b4a3770cd posix: Create barrier implementation header
Move implementation specific parts of barrier.h and barrier.inl into new
header file barrierimpl.h.  The barrier.h contains now only the
application visible API.
2013-07-22 16:57:21 +02:00
Sebastian Huber
33a4a56e7f score: Avoid direct usage of _Thread_Executing
Pass the executing thread as a function parameter.  Obtain the executing
thread inside a thread dispatch critical section to avoid problems on
SMP.
2013-07-22 16:56:59 +02:00
Sebastian Huber
b5d514fe2d score: Create message queue implementation header
Move implementation specific parts of coremsg.h and coremsg.inl into new
header file coremsgimpl.h.  The coremsg.h contains now only the
application visible API.
2013-07-22 16:56:59 +02:00
Sebastian Huber
972a5c5f94 posix: Create message queue implementation header
Move implementation specific parts of mqueue.h and mqueue.inl into new
header file mqueueimpl.h.  The mqueue.h contains now only the
application visible API.
2013-07-22 16:56:59 +02:00
Sebastian Huber
e36f2b8c91 score: Avoid direct usage of _Thread_Executing
Pass the executing thread as a function parameter.  Obtain the executing
thread inside a thread dispatch critical section to avoid problems on
SMP.
2013-07-22 16:56:58 +02:00
Sebastian Huber
c4f585589a score: Create semaphore implementation header
Move implementation specific parts of coresem.h and coresem.inl into new
header file coresemimpl.h.  The coresem.h contains now only the
application visible API.
2013-07-22 16:56:58 +02:00