| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
* rtems/src/semcreate.c: Fix mismatched brace in multiprocessing code.
|
|
|
|
|
| |
* rtems/src/semcreate.c: Clean up rework to eliminate the goto and fix
a bug introduced by rework.
|
|
|
|
|
| |
* rtems/src/semcreate.c: Restructure to simplify and improve ability to
anlize this routine for coverage.
|
|
|
|
|
|
|
|
|
| |
PR 1415/cpukit
* rtems/src/semcreate.c, rtems/src/semtranslatereturncode.c,
score/include/rtems/score/coremutex.h,
score/inline/rtems/score/coremutex.inl, score/src/coremutex.c:
Address two paths where a task with a priority above the ceiling
could obtain a priority ceiling mutex.
|
|
|
|
|
|
|
| |
PR 1388/cpukit
* rtems/src/semcreate.c: Classic Semaphores allow both priority inherit
and ceiling attributes to be set on semaphore create. These
attributes are mutually exclusive and this should be an error.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 618/rtems
* rtems/include/rtems/rtems/status.h, rtems/src/clockget.c,
rtems/src/clockset.c, rtems/src/dpmemcreate.c,
rtems/src/dpmemexternal2internal.c,
rtems/src/dpmeminternal2external.c, rtems/src/eventmp.c,
rtems/src/eventreceive.c, rtems/src/eventsend.c,
rtems/src/msgqbroadcast.c, rtems/src/msgqcreate.c,
rtems/src/msgqflush.c, rtems/src/msgqgetnumberpending.c,
rtems/src/msgqreceive.c, rtems/src/msgqsubmit.c,
rtems/src/partcreate.c, rtems/src/partdelete.c,
rtems/src/partgetbuffer.c, rtems/src/ratemoncancel.c,
rtems/src/ratemoncreate.c, rtems/src/ratemondelete.c,
rtems/src/ratemongetstatus.c, rtems/src/ratemonident.c,
rtems/src/ratemonperiod.c, rtems/src/regioncreate.c,
rtems/src/regiondelete.c, rtems/src/regionextend.c,
rtems/src/regiongetsegment.c, rtems/src/regiongetsegmentsize.c,
rtems/src/regionreturnsegment.c, rtems/src/semcreate.c,
rtems/src/semdelete.c, rtems/src/semflush.c, rtems/src/semident.c,
rtems/src/taskcreate.c, rtems/src/taskgetnote.c,
rtems/src/taskmode.c, rtems/src/taskrestart.c,
rtems/src/taskresume.c, rtems/src/tasksetnote.c,
rtems/src/tasksuspend.c, rtems/src/taskvariableadd.c,
rtems/src/taskvariabledelete.c, rtems/src/taskvariableget.c,
rtems/src/taskwakewhen.c, rtems/src/timercreate.c,
rtems/src/timerdelete.c, rtems/src/timerfireafter.c,
rtems/src/timerfirewhen.c, rtems/src/timerserverfireafter.c,
rtems/src/timerserverfirewhen.c, score/include/rtems/score/object.h,
score/src/coretodvalidate.c, score/src/objectnametoid.c: Add NULL
checks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtems/include/rtems.h,
rtems/include/rtems/rtems/asr.h,
rtems/include/rtems/rtems/attr.h,
rtems/include/rtems/rtems/clock.h,
rtems/include/rtems/rtems/config.h,
rtems/include/rtems/rtems/dpmem.h,
rtems/include/rtems/rtems/eventset.h,
rtems/include/rtems/rtems/message.h,
rtems/include/rtems/rtems/modes.h,
rtems/include/rtems/rtems/msgmp.h,
rtems/include/rtems/rtems/options.h,
rtems/include/rtems/rtems/part.h,
rtems/include/rtems/rtems/ratemon.h,
rtems/include/rtems/rtems/region.h,
rtems/include/rtems/rtems/regionmp.h,
rtems/include/rtems/rtems/sem.h,
rtems/include/rtems/rtems/support.h,
rtems/include/rtems/rtems/taskmp.h,
rtems/include/rtems/rtems/tasks.h,
rtems/include/rtems/rtems/timer.h,
rtems/inline/rtems/rtems/part.inl,
rtems/inline/rtems/rtems/region.inl,
rtems/macros/rtems/rtems/part.inl,
rtems/src/attr.c,
rtems/src/dpmem.c,
rtems/src/dpmemcreate.c,
rtems/src/dpmemexternal2internal.c,
rtems/src/dpmeminternal2external.c,
rtems/src/eventseize.c,
rtems/src/msg.c,
rtems/src/msgmp.c,
rtems/src/msgqallocate.c,
rtems/src/msgqbroadcast.c,
rtems/src/msgqcreate.c,
rtems/src/msgqflush.c,
rtems/src/msgqgetnumberpending.c,
rtems/src/msgqident.c,
rtems/src/msgqreceive.c,
rtems/src/msgqsend.c,
rtems/src/msgqsubmit.c,
rtems/src/msgqtranslatereturncode.c,
rtems/src/msgqurgent.c,
rtems/src/part.c,
rtems/src/partcreate.c,
rtems/src/partident.c,
rtems/src/partmp.c,
rtems/src/ratemon.c,
rtems/src/region.c,
rtems/src/regioncreate.c,
rtems/src/regionextend.c,
rtems/src/regiongetsegment.c,
rtems/src/regiongetsegmentsize.c,
rtems/src/regionmp.c,
rtems/src/regionreturnsegment.c,
rtems/src/rtemstimer.c,
rtems/src/sem.c,
rtems/src/semcreate.c,
rtems/src/semident.c,
rtems/src/semmp.c,
rtems/src/semobtain.c,
rtems/src/semtranslatereturncode.c,
rtems/src/taskcreate.c,
rtems/src/taskgetnote.c,
rtems/src/taskident.c,
rtems/src/taskinitusers.c,
rtems/src/taskmp.c,
rtems/src/taskrestart.c,
rtems/src/tasks.c,
rtems/src/tasksetnote.c,
rtems/src/taskstart.c,
rtems/src/timerserver.c: Convert to using c99 fixed size types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/rtems.h, include/rtems/rtems/asr.h,
include/rtems/rtems/attr.h, include/rtems/rtems/cache.h,
include/rtems/rtems/clock.h, include/rtems/rtems/config.h,
include/rtems/rtems/dpmem.h, include/rtems/rtems/event.h,
include/rtems/rtems/eventmp.h, include/rtems/rtems/eventset.h,
include/rtems/rtems/intr.h, include/rtems/rtems/message.h,
include/rtems/rtems/modes.h, include/rtems/rtems/mp.h,
include/rtems/rtems/msgmp.h, include/rtems/rtems/options.h,
include/rtems/rtems/part.h, include/rtems/rtems/partmp.h,
include/rtems/rtems/ratemon.h, include/rtems/rtems/region.h,
include/rtems/rtems/regionmp.h, include/rtems/rtems/rtemsapi.h,
include/rtems/rtems/sem.h, include/rtems/rtems/semmp.h,
include/rtems/rtems/signal.h, include/rtems/rtems/signalmp.h,
include/rtems/rtems/status.h, include/rtems/rtems/support.h,
include/rtems/rtems/taskmp.h, include/rtems/rtems/tasks.h,
include/rtems/rtems/timer.h, include/rtems/rtems/types.h,
inline/rtems/rtems/asr.inl, inline/rtems/rtems/attr.inl,
inline/rtems/rtems/dpmem.inl, inline/rtems/rtems/event.inl,
inline/rtems/rtems/eventset.inl, inline/rtems/rtems/message.inl,
inline/rtems/rtems/modes.inl, inline/rtems/rtems/options.inl,
inline/rtems/rtems/part.inl, inline/rtems/rtems/ratemon.inl,
inline/rtems/rtems/region.inl, inline/rtems/rtems/sem.inl,
inline/rtems/rtems/status.inl, inline/rtems/rtems/support.inl,
inline/rtems/rtems/tasks.inl, inline/rtems/rtems/timer.inl,
macros/rtems/rtems/asr.inl, macros/rtems/rtems/attr.inl,
macros/rtems/rtems/dpmem.inl, macros/rtems/rtems/event.inl,
macros/rtems/rtems/eventset.inl, macros/rtems/rtems/message.inl,
macros/rtems/rtems/modes.inl, macros/rtems/rtems/options.inl,
macros/rtems/rtems/part.inl, macros/rtems/rtems/ratemon.inl,
macros/rtems/rtems/region.inl, macros/rtems/rtems/sem.inl,
macros/rtems/rtems/status.inl, macros/rtems/rtems/support.inl,
macros/rtems/rtems/tasks.inl, macros/rtems/rtems/timer.inl,
src/attr.c, src/clockget.c, src/clockset.c, src/clocktick.c,
src/dpmem.c, src/dpmemcreate.c, src/dpmemdelete.c,
src/dpmemexternal2internal.c, src/dpmemident.c,
src/dpmeminternal2external.c, src/event.c, src/eventmp.c,
src/eventreceive.c, src/eventseize.c, src/eventsend.c,
src/eventsurrender.c, src/eventtimeout.c, src/intr.c, src/intrbody.c,
src/intrcatch.c, src/mp.c, src/msg.c, src/msgmp.c,
src/msgqallocate.c, src/msgqbroadcast.c, src/msgqcreate.c,
src/msgqdelete.c, src/msgqflush.c, src/msgqgetnumberpending.c,
src/msgqident.c, src/msgqreceive.c, src/msgqsend.c, src/msgqsubmit.c,
src/msgqtranslatereturncode.c, src/msgqurgent.c, src/part.c,
src/partcreate.c, src/partdelete.c, src/partgetbuffer.c,
src/partident.c, src/partmp.c, src/partreturnbuffer.c, src/ratemon.c,
src/ratemoncancel.c, src/ratemoncreate.c, src/ratemondelete.c,
src/ratemongetstatus.c, src/ratemonident.c, src/ratemonperiod.c,
src/ratemontimeout.c, src/region.c, src/regioncreate.c,
src/regiondelete.c, src/regionextend.c, src/regiongetinfo.c,
src/regiongetsegment.c, src/regiongetsegmentsize.c,
src/regionident.c, src/regionmp.c, src/regionreturnsegment.c,
src/rtclock.c, src/rtemsidtoname.c, src/rtemstimer.c, src/sem.c,
src/semcreate.c, src/semdelete.c, src/semflush.c, src/semident.c,
src/semmp.c, src/semobtain.c, src/semrelease.c,
src/semtranslatereturncode.c, src/signal.c, src/signalcatch.c,
src/signalmp.c, src/signalsend.c, src/taskcreate.c, src/taskdelete.c,
src/taskgetnote.c, src/taskident.c, src/taskinitusers.c,
src/taskissuspended.c, src/taskmode.c, src/taskmp.c,
src/taskrestart.c, src/taskresume.c, src/tasks.c, src/tasksetnote.c,
src/tasksetpriority.c, src/taskstart.c, src/tasksuspend.c,
src/taskvariableadd.c, src/taskvariabledelete.c,
src/taskvariableget.c, src/taskwakeafter.c, src/taskwakewhen.c,
src/timercancel.c, src/timercreate.c, src/timerdelete.c,
src/timerfireafter.c, src/timerfirewhen.c, src/timergetinfo.c,
src/timerident.c, src/timerreset.c, src/timerserver.c,
src/timerserverfireafter.c, src/timerserverfirewhen.c: URL for
license changed.
|
|
|
|
|
|
|
|
|
| |
* src/dpmemcreate.c, src/dpmemident.c, src/msgqcreate.c,
src/msgqident.c, src/partcreate.c, src/partident.c,
src/ratemoncreate.c, src/ratemonident.c, src/regioncreate.c,
src/regionident.c, src/semcreate.c, src/semident.c, src/taskcreate.c,
src/taskident.c, src/timercreate.c, src/timerident.c: Added casts
to Objects_Name to eliminate warnings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Mega patch merge to change the format of the object IDs to
loosen the dependency between the SCORE and the various APIs.
There was considerable work to simplify the object name management
and it appears that the name_table field is no longer needed.
This patch also includes the addition of the internal mutex
which is currently only used to protect some types of allocation
and deallocation. This significantly can reduce context
switch latency under certain circumstances. In particular,
some heap/region operations were O(n) and had dispatching
disabled. This should help enormously. With this merge,
the patch is not as clean as it should be. In particular,
the documentation has not been modified to reflect the new object
ID layout, the IDs in the test screens are not updated, and
_Objects_Get_information needs to be a real routine not inlined.
As part of this patch a lot of MP code for thread/proxy blocking
was made conditional and cleaned up.
* include/rtems.h, inline/rtems/rtems/region.inl,
macros/rtems/rtems/region.inl, src/dpmem.c, src/dpmemcreate.c,
src/msg.c, src/msgqcreate.c, src/part.c, src/partcreate.c,
src/ratemon.c, src/ratemoncreate.c, src/region.c, src/regioncreate.c,
src/regiondelete.c, src/regionextend.c, src/regiongetinfo.c,
src/regiongetsegment.c, src/regiongetsegmentsize.c,
src/regionident.c, src/regionreturnsegment.c, src/rtemstimer.c,
src/sem.c, src/semcreate.c, src/taskcreate.c, src/taskident.c,
src/tasks.c, src/timercreate.c: Modified as part of above.
|
|
|
|
| |
Eric Norum <eric@cls.usask.ca>.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
power binary/mutex style semaphores already supported by RTEMS. This
was done at the request of Eric Norum <eric@cls.usask.ca> in support
of his effort to port EPICS to RTEMS. This change consisted of
changing the nesting_allowed boolean into a lock_nesting_behavior
enumerated value as well as allowing the core mutex object to optionally
support ensuring that the holder of a binary semaphore released it.
Finally, a more subtle enhancement was to allow the non-holder to release
a priority inheritance/ceiling mutex and still allow the holding task
to return to its original priority.
|
|
|
|
|
| |
"mutex" and counting semaphore. This is at the request of Eric Norum
and his EPICS porting effort.
|
| |
|
|
|
|
|
| |
and initialize it to a value that would keep it from every being
a problem.
|
|
|