Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | posix: Prevent pthread_setspecific from returning EAGAIN. | Christian Mauderer | 2014-03-24 | 1 | -24/+35 |
| | | | | | | | | The man-page for pthread_setspecific does not define the EAGAIN return value. Further without this patch it was not possible to set keys that have been already set a new value. Add test for setting a new value to a already set key. | ||||
* | score: Unify pthread and gxx_wrapper once and move to score. | Christian Mauderer | 2014-03-21 | 1 | -35/+2 |
| | |||||
* | Change all references of rtems.com to rtems.org. | Chris Johns | 2014-03-21 | 262 | -262/+262 |
| | |||||
* | posix: Use interal mutex for once implementation | Sebastian Huber | 2014-03-19 | 5 | -139/+25 |
| | | | | | | Enable pthread_once() for all configurations. The pthread_once() function is one means to initialize POSIX keys. Another use case is the C++ support. | ||||
* | score: Add SMP lock profiling support | Sebastian Huber | 2014-03-14 | 1 | -1/+1 |
| | |||||
* | posix: Fix NULL pointer access in pthread_create() | Sebastian Huber | 2014-03-11 | 1 | -2/+2 |
| | |||||
* | score: Add local context to SMP lock API | Sebastian Huber | 2014-03-11 | 5 | -19/+19 |
| | | | | | | | | | | | Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated. | ||||
* | sapi: Use one SMP lock for all chains | Sebastian Huber | 2014-03-11 | 2 | -15/+10 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts commit 1215fd4d9426a59d568560e9a485628560363133. In order to support profiling of SMP locks and provide a future compatible SMP locks API it is necessary to add an SMP lock destroy function. Since the commit above adds an SMP lock to each chain control we would have to add a rtems_chain_destroy() function as well. This complicates the chain usage dramatically. Thus revert the patch above. A global SMP lock for all chains is used to implement the protected chain operations. Advantages: * The SAPI chain API is now identical on SMP and non-SMP configurations. * The size of the chain control is reduced and is then equal to the Score chains. * The protected chain operations work correctly on SMP. Disadvantage: * Applications using many different chains and the protected operations may notice lock contention. The chain control size drop is a huge benefit (SAPI chain controls are 66% larger than the Score chain controls). The only disadvantage is not really a problem since these applications can use specific interrupt locks and unprotected chain operations to avoid this issue. | ||||
* | posix: Regenerate | Sebastian Huber | 2014-03-11 | 1 | -0/+2 |
| | |||||
* | posix: Fix NULL pointer access in pthread_create() | Sebastian Huber | 2014-03-10 | 1 | -1/+1 |
| | |||||
* | POSIX keys now enabled in all configurations. | Joel Sherrill | 2014-03-07 | 8 | -78/+46 |
| | | | | | | | Formerly POSIX keys were only enabled when POSIX threads were enabled. Because they are a truly safe alternative to per-task variables in an SMP system, they are being enabled in all configurations. | ||||
* | Remove trailing whitespace in previous patches | Jennifer Averett | 2014-03-07 | 7 | -23/+23 |
| | |||||
* | posix: Add pthread_getattr_np(). | Jennifer Averett | 2014-03-07 | 2 | -0/+58 |
| | | | | | This is a useful POSIX thread API helper which is found in `GNU/Linux and *BSD. | ||||
* | posix: Add dynamic pthread get and set affinity. | Jennifer Averett | 2014-03-07 | 3 | -1/+139 |
| | | | | | | | This patch adds the following methods: + pthread_get_affinity_np + pthread_set_affinity_np | ||||
* | posix: Add pthread_attr_t methods to get/set affinity. | Jennifer Averett | 2014-03-07 | 3 | -0/+108 |
| | | | | | | | This patch adds the following methods: + pthread_attr_get_affinity_np + pthread_attr_set_affinity_np | ||||
* | posix: Add support method to compare two pthread attribute structures. | Jennifer Averett | 2014-03-07 | 2 | -0/+95 |
| | |||||
* | posix: Add POSIX thread affinity attribute support. | Jennifer Averett | 2014-03-07 | 4 | -16/+129 |
| | | | | | With the addition of pthread affinity information in pthread_attr_t, the existing code for pthread_attr_t had to be adjusted. | ||||
* | posix: Set pthread attribute values in detach and setschedparm methods. | Jennifer Averett | 2014-02-19 | 2 | -0/+4 |
| | |||||
* | posix/*.c: Remove use of register keyword | Joel Sherrill | 2014-02-03 | 13 | -26/+26 |
| | |||||
* | posix: fix race condition between pthread_create and capture engine | Till Strauman | 2014-01-09 | 1 | -0/+5 |
| | | | | | | Reproducable crashes occur when using pthreads and the capture engine at the same time. 'pthread_create()' is the culprit. It creates a SCORE thread and then calls Thread_Start( ) without disabling thread-dispatching. | ||||
* | alarm.c: Use _Assert() not assert() | Joel Sherrill | 2013-12-10 | 1 | -1/+1 |
| | |||||
* | alarm.c: Per comment add debug code for kill() failing | Joel Sherrill | 2013-12-09 | 1 | -4/+17 |
| | | | | | This is highly unlikely and would indicate a serious bug in the system or corruption. But it is better to be cautious. | ||||
* | pthread.c: Use UINT32_MAX rather than constant value | Joel Sherrill | 2013-12-09 | 1 | -1/+1 |
| | |||||
* | condwaitsupp.c: Return EPERM if waiting and mutex is not locked | Joel Sherrill | 2013-12-09 | 1 | -4/+8 |
| | | | | | | This error check was commented out because it is not in the POSIX specification. However, the GNU/Linux manual page does document that EPERM is to be returned in this situation. | ||||
* | psignalimpl.h: Remove dead comment | Joel Sherrill | 2013-12-09 | 1 | -3/+1 |
| | |||||
* | pthread.c: Remove XXX and use SIGNAL_ constants | Joel Sherrill | 2013-12-09 | 1 | -5/+3 |
| | |||||
* | posix/config.h: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -10/+102 |
| | |||||
* | signalcatch.c: Remove junk comment | Joel Sherrill | 2013-12-09 | 1 | -1/+1 |
| | |||||
* | timerimpl.h: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -36/+22 |
| | |||||
* | semaphoreimpl.h: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -79/+38 |
| | |||||
* | mqueueimpl.h: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -176/+91 |
| | |||||
* | condimpl.h: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -98/+35 |
| | |||||
* | ptimer.h: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -31/+14 |
| | |||||
* | muteximpl.h: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -108/+44 |
| | |||||
* | pspin.c: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -16/+7 |
| | |||||
* | pbarrier.c: Comment clean up | Joel Sherrill | 2013-12-09 | 1 | -16/+7 |
| | |||||
* | cpukit/rtems: Remove XXX in comments | Joel Sherrill | 2013-12-09 | 1 | -2/+2 |
| | |||||
* | posix: Use cleanup contexts on the stack | Sebastian Huber | 2013-12-02 | 6 | -13/+110 |
| | | | | | | | | | | Provide support for latest Newlib <pthread.h> change. The cleanup contexts are stored on the thread stack. This is conformant with the POSIX requirements for the pthread_cleanup_push() and pthread_cleanup_pop() statement pair. Passing an invalid pointer as the routine to pthread_cleanup_push() is now a usage error and the behaviour is undefined. | ||||
* | POSIX timers: Add restrict keyword | Sahil Patnayakuni | 2013-11-29 | 2 | -4/+4 |
| | | | | | + timer_create() + timer_settime() | ||||
* | signal methods: Add restrict keyword | Bryan Dunsmore | 2013-11-29 | 6 | -13/+13 |
| | |||||
* | score/rbtree: Remove "unprotected" from API | Sebastian Huber | 2013-11-21 | 4 | -8/+8 |
| | |||||
* | Fix building with RTEMS_DEBUG. | Chris Johns | 2013-09-30 | 1 | -3/+17 |
| | |||||
* | _execve.c: Fix missing prototype warnings | Joel Sherrill | 2013-09-22 | 1 | -1/+7 |
| | |||||
* | semopen.c: Switch to using RTEMS_COMPILER_UNUSED_ATTRIBUTE | Joel Sherrill | 2013-09-22 | 1 | -11/+8 |
| | |||||
* | mqueueopen.c: Switch to using RTEMS_COMPILER_UNUSED_ATTRIBUTE | Joel Sherrill | 2013-09-22 | 1 | -11/+8 |
| | |||||
* | semopen.c: Address set but unused variable warning | Joel Sherrill | 2013-09-21 | 1 | -0/+9 |
| | |||||
* | sigsuspend.c: Address set but unused variable warning | Joel Sherrill | 2013-09-21 | 1 | -3/+6 |
| | |||||
* | mqueueopen.c: Address set but unused variable warning | Joel Sherrill | 2013-09-21 | 1 | -0/+10 |
| | |||||
* | sapi: SMP support for chains | Sebastian Huber | 2013-08-30 | 2 | -21/+29 |
| | | | | | | | | Add ISR lock to chain control for proper SMP protection. Replace rtems_chain_extract() with rtems_chain_explicit_extract() and rtems_chain_insert() with rtems_chain_explicit_insert() on SMP configurations. Use rtems_chain_explicit_extract() and rtems_chain_explicit_insert() to provide SMP support. | ||||
* | posix: Avoid NULL pointer access | Sebastian Huber | 2013-08-28 | 1 | -3/+5 |
| |