| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This order change fixes the Latex documentation build via Doxygen.
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
|
|
|
|
|
| |
In standard C pointer operands are not allowed in integer constant
expressions. Avoid a static assertion based on an array typedef since
this could lead to warnings ("variably modified 'x' at file scope" and
"typedef 'x' locally defined but not used");
This implementation requires unique messages.
|
| |
|
|
|
|
|
|
|
|
| |
POSIX mutexes are now available in all configurations and no longer
depend on --enable-posix.
Update #2514.
Update #3112.
|
|
|
|
| |
Close #3125.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Replace Thread_Scheduler_control::control and
Thread_Scheduler_control::own_control with new
Thread_Scheduler_control::home.
Update #2556.
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce map/unmap priority scheduler operations to map thread priority
values from/to the user domain to/from the scheduler domain. Use the
map priority operation to validate the thread priority. The EDF
schedulers use this new operation to distinguish between normal
priorities and priorities obtain through a job release.
Update #2173.
Update #2556.
|
|
|
|
| |
Move POSIX API priority validation into _POSIX_Priority_To_core().
|
| |
|
|
|
|
|
|
| |
Make _POSIX_Mutex_Default_attributes constant and independent of the
scheduler instance. Use INT_MAX to indicate the default ceiling
priority.
|
|
|
|
|
|
|
| |
Accept all priority values in pthread_mutexattr_setprioceiling(). This
is in line with POSIX and FreeBSD. The priority is validated in
pthread_mutex_init(). Validate the priority only for priority ceiling
mutexes.
|
|
|
|
|
| |
Provide dedicated seize and surrender methods for inherit priority
mutexes. This eliminates CORE_mutex_Attributes.
|
|
|
|
|
| |
Rework seize and surrender methods to use CORE_ceiling_mutex_Control.
This eliminates CORE_mutex_Disciplines.
|
|
|
|
|
|
|
|
| |
Add CORE_recursive_mutex_Control and CORE_ceiling_mutex_Control to avoid
the run-time evaluation of attributes to figure out how a particular
mutex methods should behave. Start with the no protocol variants. This
eliminates the CORE_MUTEX_DISCIPLINES_FIFO and
CORE_MUTEX_DISCIPLINES_PRIORITY disciplines.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Delete _POSIX_Mutex_Get(). Use _POSIX_Mutex_Get_interrupt_disable()
instead.
Update #2555.
|
|
|
|
|
|
| |
Rename _POSIX_Absolute_timeout_to_ticks() to
_TOD_Absolute_timeout_to_ticks() and move it to the score directory.
Delete empty <rtems/posix/time.h>.
|
|
|
|
|
|
|
|
| |
The holder field is enough to determine if a mutex is locked or not.
This leads also to better error status codes in case a
rtems_semaphore_release() is done for a mutex without having the
ownership.
|
|
|
|
|
| |
Use allocator mutex for objects allocate/free. This prevents that the
thread dispatch latency depends on the workspace/heap fragmentation.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Pass the executing thread as a function parameter. Obtain the executing
thread inside a thread dispatch critical section to avoid problems on
SMP.
|
|
|
|
|
|
| |
Move implementation specific parts of coremutex.h and coremutex.inl into
new header file coremuteximpl.h. The coremutex.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of mutex.h and mutex.inl into new
header file muteximpl.h. The mutex.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Add and use _Objects_Put_without_thread_dispatch(). These two functions
pair with the _Objects_Get() function. This helps to introduce object
specific SMP locks to avoid lock contention.
|
| |
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7988213
|
|
|
|
|
|
|
|
|
|
|
|
| |
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ftpd/ftpd.c, libcsupport/src/geteuid.c, libcsupport/src/getgroups.c,
libcsupport/src/getpgrp.c, libcsupport/src/getpid.c,
libcsupport/src/getppid.c, libcsupport/src/setpgid.c,
libcsupport/src/setsid.c, libcsupport/src/utsname.c,
libmisc/stackchk/check.c, posix/include/rtems/posix/mqueue.h,
posix/inline/rtems/posix/cond.inl,
posix/inline/rtems/posix/mqueue.inl,
posix/inline/rtems/posix/mutex.inl,
posix/inline/rtems/posix/pthread.inl,
posix/inline/rtems/posix/semaphore.inl,
posix/inline/rtems/posix/timer.inl, posix/src/alarm.c,
posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c,
posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c,
posix/src/cleanuppop.c, posix/src/cleanuppush.c,
posix/src/clockgetcpuclockid.c, posix/src/clockgetenableattr.c,
posix/src/clockgetres.c, posix/src/clockgettime.c,
posix/src/clocksetenableattr.c, posix/src/clocksettime.c,
posix/src/cond.c, posix/src/condattrdestroy.c,
posix/src/condattrgetpshared.c, posix/src/condattrinit.c,
posix/src/condattrsetpshared.c, posix/src/condbroadcast.c,
posix/src/conddefaultattributes.c, posix/src/conddestroy.c,
posix/src/condinit.c, posix/src/condsignal.c,
posix/src/condsignalsupp.c, posix/src/condtimedwait.c,
posix/src/condwait.c, posix/src/condwaitsupp.c,
posix/src/keygetspecific.c, posix/src/keyrundestructors.c,
posix/src/keysetspecific.c, posix/src/mprotect.c, posix/src/mqueue.c,
posix/src/mqueuecreatesupp.c, posix/src/mqueuedeletesupp.c,
posix/src/mqueuegetattr.c, posix/src/mqueuenotify.c,
posix/src/mqueuereceive.c, posix/src/mqueuesend.c,
posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c,
posix/src/mqueuetimedreceive.c, posix/src/mqueuetimedsend.c,
posix/src/mqueuetranslatereturncode.c, posix/src/mqueueunlink.c,
posix/src/mutex.c, posix/src/mutexattrdestroy.c,
posix/src/mutexattrgetprioceiling.c,
posix/src/mutexattrgetprotocol.c, posix/src/mutexattrgetpshared.c,
posix/src/mutexattrinit.c, posix/src/mutexattrsetprioceiling.c,
posix/src/mutexattrsetprotocol.c, posix/src/mutexattrsetpshared.c,
posix/src/mutexdestroy.c, posix/src/mutexgetprioceiling.c,
posix/src/mutexinit.c, posix/src/mutexlock.c,
posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c,
posix/src/mutextimedlock.c, posix/src/mutextrylock.c,
posix/src/mutexunlock.c, posix/src/nanosleep.c, posix/src/psignal.c,
posix/src/psignalchecksignal.c,
posix/src/psignalclearprocesssignals.c,
posix/src/psignalclearsignals.c,
posix/src/psignalsetprocesssignals.c,
posix/src/psignalunblockthread.c, posix/src/pthreadinitthreads.c,
posix/src/rwlockattrdestroy.c, posix/src/rwlockattrgetpshared.c,
posix/src/rwlockattrinit.c, posix/src/rwlockattrsetpshared.c,
posix/src/semaphore.c, posix/src/semaphoredeletesupp.c,
posix/src/semaphorenametoid.c, posix/src/semaphorewaitsupp.c,
posix/src/semclose.c, posix/src/semdestroy.c,
posix/src/semgetvalue.c, posix/src/seminit.c, posix/src/semopen.c,
posix/src/sempost.c, posix/src/semtimedwait.c,
posix/src/semtrywait.c, posix/src/semunlink.c, posix/src/semwait.c,
posix/src/sysconf.c, posix/src/testcancel.c, posix/src/ualarm.c,
rtems/src/clockgetuptime.c, rtems/src/clockset.c,
rtems/src/clocksetnsecshandler.c, rtems/src/clocktick.c,
rtems/src/clocktodtoseconds.c, rtems/src/clocktodvalidate.c,
rtems/src/dpmem.c, rtems/src/dpmemcreate.c, rtems/src/dpmemdelete.c,
rtems/src/dpmemexternal2internal.c, rtems/src/dpmemident.c,
rtems/src/dpmeminternal2external.c, rtems/src/event.c,
rtems/src/eventmp.c, rtems/src/eventreceive.c,
rtems/src/eventseize.c, rtems/src/eventsend.c,
rtems/src/eventsurrender.c, rtems/src/eventtimeout.c, rtems/src/mp.c,
rtems/src/msg.c, rtems/src/msgmp.c, rtems/src/msgqallocate.c,
rtems/src/msgqbroadcast.c, rtems/src/msgqcreate.c,
rtems/src/msgqdelete.c, rtems/src/msgqflush.c,
rtems/src/msgqgetnumberpending.c, rtems/src/msgqident.c,
rtems/src/msgqreceive.c, rtems/src/msgqtranslatereturncode.c,
rtems/src/msgqurgent.c, rtems/src/part.c, rtems/src/partcreate.c,
rtems/src/partdelete.c, rtems/src/partgetbuffer.c,
rtems/src/partident.c, rtems/src/partmp.c,
rtems/src/partreturnbuffer.c, rtems/src/ratemon.c,
rtems/src/ratemoncancel.c, rtems/src/ratemoncreate.c,
rtems/src/ratemondelete.c, rtems/src/ratemongetstatistics.c,
rtems/src/ratemongetstatus.c, rtems/src/ratemonident.c,
rtems/src/ratemonperiod.c, rtems/src/ratemonresetstatistics.c,
rtems/src/ratemontimeout.c, rtems/src/region.c,
rtems/src/regioncreate.c, rtems/src/regiondelete.c,
rtems/src/regionextend.c, rtems/src/regiongetfreeinfo.c,
rtems/src/regiongetinfo.c, rtems/src/regiongetsegment.c,
rtems/src/regiongetsegmentsize.c, rtems/src/regionident.c,
rtems/src/regionmp.c, rtems/src/regionprocessqueue.c,
rtems/src/regionresizesegment.c, rtems/src/regionreturnsegment.c,
rtems/src/rtemsobjectgetclassicname.c, rtems/src/rtemstimer.c,
rtems/src/sem.c, rtems/src/semcreate.c, rtems/src/semdelete.c,
rtems/src/semflush.c, rtems/src/semident.c, rtems/src/semmp.c,
rtems/src/semobtain.c, rtems/src/semrelease.c,
rtems/src/semtranslatereturncode.c, rtems/src/signal.c,
rtems/src/signalcatch.c, rtems/src/signalmp.c,
rtems/src/signalsend.c, rtems/src/taskcreate.c,
rtems/src/taskdelete.c, rtems/src/taskgetnote.c,
rtems/src/taskident.c, rtems/src/taskinitusers.c,
rtems/src/taskissuspended.c, rtems/src/taskmp.c,
rtems/src/taskrestart.c, rtems/src/taskresume.c, rtems/src/tasks.c,
rtems/src/tasksetnote.c, rtems/src/tasksetpriority.c,
rtems/src/taskstart.c, rtems/src/tasksuspend.c,
rtems/src/taskwakeafter.c, rtems/src/taskwakewhen.c,
rtems/src/timercancel.c, rtems/src/timercreate.c,
rtems/src/timerdelete.c, rtems/src/timerfireafter.c,
rtems/src/timerfirewhen.c, rtems/src/timergetinfo.c,
rtems/src/timerident.c, rtems/src/timerreset.c,
rtems/src/timerserverfireafter.c, rtems/src/timerserverfirewhen.c,
sapi/src/debug.c, sapi/src/extension.c, sapi/src/posixapi.c,
sapi/src/rtemsapi.c, score/src/apiext.c, score/src/chain.c,
score/src/corebarrier.c, score/src/corebarrierrelease.c,
score/src/corebarrierwait.c, score/src/coremsgbroadcast.c,
score/src/coremsgclose.c, score/src/coremsgflush.c,
score/src/coremsgflushsupp.c, score/src/coremsgflushwait.c,
score/src/coremsginsert.c, score/src/coremsgseize.c,
score/src/coremsgsubmit.c, score/src/coremutex.c,
score/src/coremutexflush.c, score/src/coremutexseize.c,
score/src/corerwlock.c, score/src/corerwlockobtainread.c,
score/src/corerwlockobtainwrite.c, score/src/corerwlockrelease.c,
score/src/coresem.c, score/src/coresemflush.c,
score/src/coresemsurrender.c, score/src/corespinlock.c,
score/src/corespinlockrelease.c, score/src/corespinlockwait.c,
score/src/coretod.c, score/src/coretodset.c,
score/src/coretodtickle.c, score/src/heap.c, score/src/interr.c,
score/src/mpci.c, score/src/objectallocate.c,
score/src/objectextendinformation.c, score/src/objectfree.c,
score/src/objectget.c, score/src/objectgetisr.c,
score/src/objectgetnext.c, score/src/objectgetnoprotection.c,
score/src/objectinitializeinformation.c, score/src/objectmp.c,
score/src/objectnametoid.c, score/src/objectnametoidstring.c,
score/src/objectshrinkinformation.c, score/src/rbtree.c,
score/src/threaddelayended.c, score/src/threadhandler.c,
score/src/threadinitialize.c, score/src/threadloadenv.c,
score/src/threadmp.c, score/src/threadq.c,
score/src/threadqdequeue.c, score/src/threadqdequeuefifo.c,
score/src/threadqdequeuepriority.c, score/src/threadqenqueue.c,
score/src/threadqenqueuefifo.c, score/src/threadqenqueuepriority.c,
score/src/threadqextract.c, score/src/threadqextractfifo.c,
score/src/threadqextractpriority.c,
score/src/threadqextractwithproxy.c, score/src/threadqfirst.c,
score/src/threadqfirstfifo.c, score/src/threadqfirstpriority.c,
score/src/threadqflush.c, score/src/threadqrequeue.c,
score/src/threadstackallocate.c, score/src/threadstartmultitasking.c,
score/src/watchdog.c, score/src/watchdogadjust.c,
score/src/watchdoginsert.c, score/src/watchdogremove.c,
score/src/watchdogtickle.c: Remove /*PAGE markers which were
interpreted by a long dead print script.
|
| |
|
|
|
|
|
|
|
| |
* posix/Makefile.am, posix/src/mutex.c, posix/src/mutexinit.c: Add
initial support for the pthread mutex type attribute added by UNIX98.
It can be normal, recursive, errorcheck or default.
* posix/src/mutexattrgettype.c, posix/src/mutexattrsettype.c: New files.
|
|
|
|
|
|
|
|
| |
* posix/src/killinfo.c, posix/src/mutexinit.c, posix/src/psignal.c,
posix/src/psignalchecksignal.c, posix/src/pthread.c,
posix/src/pthreadexit.c, posix/src/pthreadinitthreads.c: Remove
includes of <assert.h> where possible. Make other uses conditional on
ifdef RTEMS_DEBUG.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/include/rtems/itron/object.h, itron/src/cre_tsk.c,
libblock/src/show_bdbuf.c, libmisc/capture/capture-cli.c,
libmisc/capture/capture.c, libmisc/monitor/mon-manager.c,
libmisc/stackchk/check.c, posix/src/condinit.c,
posix/src/keycreate.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuenametoid.c,
posix/src/mqueueopen.c, posix/src/mqueueunlink.c,
posix/src/mutexinit.c, posix/src/pbarrierinit.c,
posix/src/prwlockinit.c, posix/src/pspininit.c,
posix/src/pthreadcreate.c, posix/src/pthreadexit.c,
posix/src/semaphorecreatesupp.c, posix/src/semaphorenametoid.c,
posix/src/timercreate.c, rtems/src/barrierident.c,
rtems/src/dpmemident.c, rtems/src/msgqident.c, rtems/src/partident.c,
rtems/src/ratemonident.c, rtems/src/regionident.c,
rtems/src/semident.c, rtems/src/taskident.c, rtems/src/timerident.c,
sapi/src/extensionident.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/apimutexallocate.c,
score/src/objectextendinformation.c,
score/src/objectgetnameasstring.c, score/src/objectmp.c,
score/src/objectnametoid.c: Convert the Objects_Name type from a
simple type to a union of an unsigned 32 bit integer and a pointer.
This should help eliminate weird casts between u32 and pointers in
various places. The APIs now have to explicitly call _u32 or _string
versions of helper routines. This should also simplify things and
eliminate the need for ugly casts in some cases.
* score/src/objectclearname.c, score/src/objectcomparenameraw.c,
score/src/objectcomparenamestring.c, score/src/objectcopynameraw.c,
score/src/objectcopynamestring.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/Makefile.am, posix/src/clockgetcpuclockid.c,
posix/src/clockgetenableattr.c, posix/src/clockgettime.c,
posix/src/clocksetenableattr.c, posix/src/clocksettime.c,
posix/src/devctl.c, posix/src/execl.c, posix/src/execle.c,
posix/src/execlp.c, posix/src/execv.c, posix/src/execve.c,
posix/src/execvp.c, posix/src/fork.c, posix/src/mutexinit.c,
posix/src/pthreadatfork.c, posix/src/pthreadgetcpuclockid.c,
posix/src/pthreadkill.c, posix/src/semaphorecreatesupp.c,
posix/src/sysconf.c, posix/src/wait.c, posix/src/waitpid.c: Split
files into one function per file.
* posix/src/aio_cancel.c, posix/src/aio_error.c, posix/src/aio_fsync.c,
posix/src/aio_read.c, posix/src/aio_return.c,
posix/src/aio_suspend.c, posix/src/aio_write.c,
posix/src/lio_listio.c, posix/src/sched_getparam.c,
posix/src/sched_getprioritymax.c, posix/src/sched_getprioritymin.c,
posix/src/sched_getscheduler.c, posix/src/sched_rr_get_interval.c,
posix/src/sched_setparam.c, posix/src/sched_setscheduler.c,
posix/src/sched_yield.c: New files.
* posix/src/aio.c, posix/src/sched.c, posix/src/types.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libcsupport/src/malloc.c, libmisc/monitor/mon-command.c,
posix/preinstall.am, posix/include/rtems/posix/cond.h,
posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/pthread.h,
posix/include/rtems/posix/semaphore.h, posix/src/conddestroy.c,
posix/src/mutexdestroy.c, posix/src/mutexinit.c,
posix/src/mutexsetprioceiling.c, posix/src/mutexunlock.c,
sapi/include/confdefs.h, sapi/include/rtems/config.h,
sapi/include/rtems/init.h, sapi/include/rtems/sptables.h,
sapi/src/exinit.c, score/include/rtems/system.h,
score/include/rtems/score/mpci.h, score/src/mpci.c,
score/src/thread.c, score/src/threadcreateidle.c,
score/src/threadstackallocate.c, score/src/threadstackfree.c,
score/src/wkspace.c: Moved most of the remaining CPU Table fields to
the Configuration Table. This included pretasking_hook,
predriver_hook, postdriver_hook, idle_task, do_zero_of_workspace,
extra_mpci_receive_server_stack, stack_allocate_hook, and
stack_free_hook. As a side-effect of this effort some multiprocessing
code was made conditional and some style clean up occurred.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/semaphore.h, posix/src/cancel.c,
posix/src/conddestroy.c, posix/src/condsignalsupp.c,
posix/src/condwaitsupp.c, posix/src/keydelete.c,
posix/src/keygetspecific.c, posix/src/keysetspecific.c,
posix/src/mqueueclose.c, posix/src/mqueuegetattr.c,
posix/src/mqueuenotify.c, posix/src/mqueuerecvsupp.c,
posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c,
posix/src/mqueuetranslatereturncode.c, posix/src/mutexdestroy.c,
posix/src/mutexgetprioceiling.c, posix/src/mutexinit.c,
posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c,
posix/src/mutexunlock.c, posix/src/pbarrierdestroy.c,
posix/src/pbarriertranslatereturncode.c, posix/src/pbarrierwait.c,
posix/src/prwlockdestroy.c, posix/src/prwlockrdlock.c,
posix/src/prwlocktimedrdlock.c, posix/src/prwlocktimedwrlock.c,
posix/src/prwlocktranslatereturncode.c, posix/src/prwlocktryrdlock.c,
posix/src/prwlocktrywrlock.c, posix/src/prwlockunlock.c,
posix/src/prwlockwrlock.c, posix/src/pspindestroy.c,
posix/src/pspinlock.c, posix/src/pspinlocktranslatereturncode.c,
posix/src/pspintrylock.c, posix/src/pspinunlock.c,
posix/src/pthreaddetach.c, posix/src/pthreadequal.c,
posix/src/pthreadgetschedparam.c, posix/src/pthreadjoin.c,
posix/src/pthreadkill.c, posix/src/pthreadsetschedparam.c,
posix/src/ptimer1.c, posix/src/semaphorewaitsupp.c,
posix/src/semclose.c, posix/src/semdestroy.c,
posix/src/semgetvalue.c, posix/src/sempost.c, posix/src/types.c,
rtems/src/msgqtranslatereturncode.c, rtems/src/semobtain.c,
rtems/src/timerfireafter.c, score/include/rtems/system.h,
score/include/rtems/score/corebarrier.h,
score/include/rtems/score/coremsg.h,
score/include/rtems/score/coremutex.h,
score/include/rtems/score/coresem.h: Restructed to move the
OBJECTS_LOCAL case to the top of the switch statement and
eliminate the fall-through return of POSIX_BOTTOM_REACHED. These
changes produced simplier assembly code and allowed for complete
test coverage. Also applied some consistency to the functions
that translate the core status codes to POSIX status codes.
* posix/src/mutextranslatereturncode.c,
posix/src/semaphoretranslatereturncode.c: New files.
* posix/src/mutexfromcorestatus.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/Makefile.am, posix/preinstall.am, posix/src/cancel.c,
posix/src/conddestroy.c, posix/src/condinit.c,
posix/src/condsignalsupp.c, posix/src/condwaitsupp.c,
posix/src/mqueueclose.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuegetattr.c,
posix/src/mqueuenotify.c, posix/src/mqueuerecvsupp.c,
posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c,
posix/src/mqueueunlink.c, posix/src/mutexattrdestroy.c,
posix/src/mutexattrgetprioceiling.c,
posix/src/mutexattrgetprotocol.c, posix/src/mutexattrgetpshared.c,
posix/src/mutexattrinit.c, posix/src/mutexattrsetprioceiling.c,
posix/src/mutexattrsetprotocol.c, posix/src/mutexattrsetpshared.c,
posix/src/mutexdefaultattributes.c, posix/src/mutexdestroy.c,
posix/src/mutexgetprioceiling.c, posix/src/mutexinit.c,
posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c,
posix/src/mutexunlock.c, posix/src/semaphorecreatesupp.c,
posix/src/semaphoredeletesupp.c, posix/src/semaphorewaitsupp.c,
posix/src/semclose.c, posix/src/semdestroy.c,
posix/src/semgetvalue.c, posix/src/sempost.c, posix/src/semunlink.c,
posix/src/types.c, score/cpu/powerpc/rtems/old-exceptions/cpu.h:
Remove all pretense of POSIX MP support. The support in place was
only a shell. This should make maintenance easier.
* posix/include/rtems/posix/condmp.h,
posix/include/rtems/posix/mqueuemp.h,
posix/include/rtems/posix/mutexmp.h,
posix/include/rtems/posix/pthreadmp.h,
posix/include/rtems/posix/semaphoremp.h, posix/src/condmp.c,
posix/src/mutexmp.c, posix/src/semaphoremp.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/src/can_wup.c, itron/src/chg_pri.c, itron/src/del_mbf.c,
itron/src/del_mbx.c, itron/src/del_sem.c, itron/src/del_tsk.c,
itron/src/frsm_tsk.c, itron/src/ref_mbf.c, itron/src/ref_mbx.c,
itron/src/ref_sem.c, itron/src/ref_tsk.c, itron/src/rel_wai.c,
itron/src/rsm_tsk.c, itron/src/sig_sem.c, itron/src/snd_mbx.c,
itron/src/sta_tsk.c, itron/src/sus_tsk.c, itron/src/ter_tsk.c,
itron/src/trcv_mbf.c, itron/src/trcv_mbx.c, itron/src/tsnd_mbf.c,
itron/src/twai_sem.c, posix/src/cancel.c, posix/src/conddestroy.c,
posix/src/condinit.c, posix/src/condsignalsupp.c,
posix/src/condwaitsupp.c, posix/src/keydelete.c,
posix/src/keygetspecific.c, posix/src/keysetspecific.c,
posix/src/mqueueclose.c, posix/src/mqueuegetattr.c,
posix/src/mqueuenotify.c, posix/src/mqueuerecvsupp.c,
posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c,
posix/src/mutexdestroy.c, posix/src/mutexgetprioceiling.c,
posix/src/mutexinit.c, posix/src/mutexlocksupp.c,
posix/src/mutexsetprioceiling.c, posix/src/mutexunlock.c,
posix/src/pbarrierdestroy.c, posix/src/pbarrierwait.c,
posix/src/prwlockdestroy.c, posix/src/prwlockrdlock.c,
posix/src/prwlocktimedrdlock.c, posix/src/prwlocktimedwrlock.c,
posix/src/prwlocktryrdlock.c, posix/src/prwlocktrywrlock.c,
posix/src/prwlockunlock.c, posix/src/prwlockwrlock.c,
posix/src/pspindestroy.c, posix/src/pspinlock.c,
posix/src/pspintrylock.c, posix/src/pspinunlock.c,
posix/src/pthreaddetach.c, posix/src/pthreadequal.c,
posix/src/pthreadgetschedparam.c, posix/src/pthreadjoin.c,
posix/src/pthreadkill.c, posix/src/pthreadsetschedparam.c,
posix/src/ptimer1.c, posix/src/semaphorewaitsupp.c,
posix/src/semclose.c, posix/src/semdestroy.c,
posix/src/semgetvalue.c, posix/src/sempost.c, posix/src/types.c,
rtems/src/barrierdelete.c, rtems/src/barrierrelease.c,
rtems/src/barrierwait.c, rtems/src/dpmemdelete.c,
rtems/src/dpmemexternal2internal.c,
rtems/src/dpmeminternal2external.c, rtems/src/eventsend.c,
rtems/src/eventtimeout.c, rtems/src/msgqbroadcast.c,
rtems/src/msgqdelete.c, rtems/src/msgqflush.c,
rtems/src/msgqgetnumberpending.c, rtems/src/msgqreceive.c,
rtems/src/msgqsend.c, rtems/src/msgqurgent.c, rtems/src/partdelete.c,
rtems/src/partgetbuffer.c, rtems/src/partreturnbuffer.c,
rtems/src/ratemoncancel.c, rtems/src/ratemondelete.c,
rtems/src/ratemongetstatistics.c, rtems/src/ratemongetstatus.c,
rtems/src/ratemonperiod.c, rtems/src/ratemonresetstatistics.c,
rtems/src/ratemontimeout.c, rtems/src/regiondelete.c,
rtems/src/regionextend.c, rtems/src/regiongetfreeinfo.c,
rtems/src/regiongetinfo.c, rtems/src/regiongetsegment.c,
rtems/src/regiongetsegmentsize.c, rtems/src/regionresizesegment.c,
rtems/src/regionreturnsegment.c, rtems/src/semdelete.c,
rtems/src/semflush.c, rtems/src/semobtain.c, rtems/src/semrelease.c,
rtems/src/signalsend.c, rtems/src/taskdelete.c,
rtems/src/taskgetnote.c, rtems/src/taskissuspended.c,
rtems/src/taskrestart.c, rtems/src/taskresume.c,
rtems/src/tasksetnote.c, rtems/src/tasksetpriority.c,
rtems/src/taskstart.c, rtems/src/tasksuspend.c,
rtems/src/taskvariableadd.c, rtems/src/taskvariabledelete.c,
rtems/src/taskvariableget.c, rtems/src/timercancel.c,
rtems/src/timerdelete.c, rtems/src/timerfireafter.c,
rtems/src/timerfirewhen.c, rtems/src/timergetinfo.c,
rtems/src/timerreset.c, rtems/src/timerserverfireafter.c,
rtems/src/timerserverfirewhen.c, sapi/src/extensiondelete.c,
score/include/rtems/score/object.h, score/src/corerwlocktimeout.c,
score/src/mpci.c, score/src/objectgetnameasstring.c,
score/src/threaddelayended.c, score/src/threadqtimeout.c: When
multiprocessing is disabled, do not even allow the constant
OBJECTS_REMOTE to appear in the source. Even at -O2, the presence of
a case OBJECTS_REMOTE in each id->pointer _Objects_Get switch results
in the generation of binary code which can NOT be reached.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/posix/key.h, src/cond.c, src/condinit.c, src/intr.c,
src/key.c, src/keycreate.c, src/keydelete.c, src/killinfo.c,
src/mqueue.c, src/mqueuecreatesupp.c, src/mutex.c, src/mutexinit.c,
src/psignal.c, src/pthread.c, src/semaphore.c,
src/semaphorecreatesupp.c: Modified as part of above.
|
|
|
|
|
|
|
| |
* configure.in: Add src/config.h
* src/Makefile.am: Add INCLUDES += -I. to pickup config.h
* src/.cvsignore: Add config.h and stamp-h
* src/*.c: Add config.h support.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|