summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/userextiterate.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Use chain iterator for user extensionsSebastian Huber2016-04-181-19/+65
| | | | | | | | | | | Add a lock and use a chain iterator for safe iteration during concurrent user extension addition and removal. Ensure that dynamically added thread delete and fatal extensions are called in reverse order. Update #2555. Update #2692.
* score: Thread life cycle re-implementationSebastian Huber2014-03-311-0/+14
| | | | | | | | | | | | | | | | | | | The thread deletion is now supported on SMP. This change fixes the following PRs: PR1814: SMP race condition between stack free and dispatch PR2035: psxcancel reveals NULL pointer access in _Thread_queue_Extract() The POSIX cleanup handler are now called in the right context (should be called in the context of the terminating thread). http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_09.html Add a user extension the reflects a thread termination event. This is used to reclaim the Newlib reentrancy structure (may use file operations), the POSIX cleanup handlers and the POSIX key destructors.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* score: Use _Thread_Get_executing()Sebastian Huber2013-07-221-1/+1
|
* score misc: Score misc: Clean up Doxygen #6 (GCI 2012)Christopher Kerl2012-11-291-0/+8
| | | | | | | This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. http://www.google-melange.com/gci/task/view/google/gci2012/7976215
* score: Add and use <rtems/score/userextimpl.h>Sebastian Huber2012-11-221-1/+1
| | | | | This file contains the parts of <rtems/score/userext.h> that are only necessary for the RTEMS implementation.
* score: Statically initialize user extensionsSebastian Huber2012-11-131-2/+17
| | | | | | | | | The initial extensions remain now in a read-only table and will not be copied to work space memory. The extension chains are statically initialized. This makes it possible to call _User_extensions_Iterate() independent of the system state. It is now guaranteed that the fatal callout of the initial extensions will be called provided the stack pointer, the read-only data, and code memory are valid.
* score: Add and use _User_extensions_Iterate()Sebastian Huber2012-11-131-0/+133
Replace the separate user extension iterations with a single iteration function. This reduces code size and improves maintainability since the iteration logic is only in one function. The runtime overhead is insignificant.