| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Move the safety check performed by
_CORE_mutex_Check_dispatch_for_seize() out of the performance critical
path and generalize it. Blocking on a thread queue with an unexpected
thread dispatch disabled level is illegal in all system states.
Add the expected thread dispatch disable level (which may be 1 or 2
depending on the operation) to Thread_queue_Context and use it in
_Thread_queue_Enqueue_critical().
|
| |
|
|
|
|
|
|
| |
Apparently killinfo() is not defined by POSIX, glibc or FreeBSD. Rename
killinfo() to _POSIX_signals_Send() to cleary mark it as an internal
function.
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove the Thread_queue_Queue::operations field to reduce the size of
this structure. Add a thread queue operations parameter to the
_Thread_queue_First(), _Thread_queue_First_locked(),
_Thread_queue_Enqueue(), _Thread_queue_Dequeue() and
_Thread_queue_Flush() functions. This is a preparation patch to reduce
the size of several synchronization objects.
|
| |
|
|
|
|
| |
Update #2408.
|
|
|
|
|
|
| |
Avoid Thread_Control typedef in <rtems/score/percpu.h>. This helps to
get rid of the <rtems/score/percpu.h> include in <rtems/score/thread.h>
which exposes a lot of implementation details.
|
|
|
|
|
|
|
|
|
|
|
| |
Move the complete thread queue enqueue procedure into
_Thread_queue_Enqueue_critical(). It is possible to use the thread
queue lock to protect state of the object embedding the thread queue.
This enables per object fine grained locking in the future.
Delete _Thread_queue_Enter_critical_section().
Update #2273.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Add and use _POSIX_signals_Release(). The post-switch handler is not
protected by disabled thread dispatching. Use proper SMP lock for
signal management.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
This is the result of a sed script which converts all uses
of @{ into a consistent form.
|
|
|
|
|
|
|
| |
The output of the modules.html is much improved. Most
filesystem and POSIX API related groups are properly nested.
Some formatting issues were addressed as were multiple
inconsistencies.
|
| |
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7958218
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7988213
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7959229
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7987220
|
| |
|
|
This file contains the parts of <rtems/posix/psignal.h> that are only
necessary for the POSIX API implementation.
|