| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|