| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
|
|
|
|
|
|
|
| |
Statically allocate the objects information together with the initial
set of objects either via <rtems/confdefs.h>. Provide default object
informations with zero objects via librtemscpu.a. This greatly
simplifies the workspace size estimate. RTEMS applications which do not
use the unlimited objects option are easier to debug since all objects
reside now in statically allocated objects of the right types.
Close #3621.
|
|
|
|
|
|
| |
Use Objects_Information::name_length to store this information.
Update #3621.
|
|
|
|
|
|
|
|
|
| |
Enable support for string objects names unconditionally. Add const
qualifier throughout. Split _Objects_Namespace_remove() into
_Objects_Namespace_remove_u32() and _Objects_Namespace_remove_string()
to avoid an unnecessary dependency on _Workspace_Free().
Update #2514.
|
|
|
|
| |
Update #2132.
|
|
|
|
|
|
| |
Remove unused supports_global parameter. Convert
_Objects_Initialize_information() to a macro to avoid use of
RTEMS_MULTIPROCESSING define for each caller.
|
|
|
|
|
|
|
|
|
|
| |
POSIX key destructors must be called during thread restart. Just like
the POSIX cleanup handlers. This ensures that the TLS object
destructors are called during thread restart for example. It is
important for the global construction, which uses a thread restart to
run the Init task in a clean environment.
Close #2689.
|
|
|
|
|
|
| |
Yields higher performance on SMP systems.
Close #2625.
|
|
|
|
| |
Update #2408.
|
|
|
|
|
| |
Replace the extend function with an allocator since this fits better
to the current use case.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove compare function and is unique indicator from the control
structure. Rename RBTree_Compare_function to RBTree_Compare. Rename
rtems_rbtree_compare_function to rtems_rbtree_compare. Provide C++
compatible initializers. Add compare function and is unique indicator
to _RBTree_Find(), _RBTree_Insert(), rtems_rbtree_find() and
rtems_rbtree_insert(). Remove _RBTree_Is_unique() and
rtems_rbtree_is_unique(). Remove compare function and is unique
indicator from _RBTree_Initialize_empty() and
rtems_rbtree_initialize_empty().
|
|
|
|
|
| |
Always initialize the freechain. This prevents a NULL pointer access in
case no initial key value pairs are defined.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Formerly POSIX keys were only enabled when POSIX threads
were enabled. Because they are a truly safe alternative
to per-task variables in an SMP system, they are being
enabled in all configurations.
|
|
|
|
|
|
| |
Use the POSIX configuration value directly. Use right type early and
avoid casts. Use proper unlimited objects API. Check workspace
allocation. Make functions static.
|
|
|
|
|
|
| |
Move implementation specific parts of key.h and key.inl into new header
file keyimpl.h. The key.h contains now only the application visible
API.
|
|
|
|
|
|
|
| |
This patch enables unlimited model in POSIX key manger and have a decent
runtime on POSIX key searching, adding and deleting operations. Memory
overhead is lower than current implementation when the size of key and key
value becomes big.
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7955219
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/include/rtems/posix/barrier.h,
posix/include/rtems/posix/cond.h, posix/include/rtems/posix/key.h,
posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/psignal.h,
posix/include/rtems/posix/pthread.h,
posix/include/rtems/posix/ptimer.h,
posix/include/rtems/posix/rwlock.h,
posix/include/rtems/posix/semaphore.h,
posix/include/rtems/posix/spinlock.h,
posix/include/rtems/posix/timer.h, posix/src/cond.c, posix/src/key.c,
posix/src/mqueue.c, posix/src/mutex.c, posix/src/pbarrier.c,
posix/src/prwlock.c, posix/src/psignal.c, posix/src/pspin.c,
posix/src/pthread.c, posix/src/pthreadinitthreads.c,
posix/src/ptimer.c, posix/src/semaphore.c, sapi/src/posixapi.c:
Convert POSIX manager initialization routines to directly pull
parameters from configuration table.
|
|
|
|
|
|
| |
* posix/src/key.c: Include <limits.h>
* posix/src/psignal.c, rtems/src/tasks.c: Do not attempt to process
a NULL extension block.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/src/cond.c, posix/src/key.c, posix/src/mqueuenametoid.c,
posix/src/mutex.c, posix/src/pbarrier.c, posix/src/prwlock.c,
posix/src/pspin.c, posix/src/pthread.c, posix/src/ptimer.c,
posix/src/semaphorenametoid.c: Add option for all POSIX objects
whether named or unnamed to have a string name. If the API does
not directly support having a name, then the user must explicitly
assign it using rtems_object_set_name().
* rtems/src/rtemsobjectgetapiclassname.c: Improved testability.
* score/include/rtems/score/object.h,
score/src/objectgetnameasstring.c, score/src/objectnametoidstring.c,
score/src/objectsetname.c: Modifications required to pass testing of
recently modified object name operations. Also eliminated
multiprocessing related code that was not reachable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/preinstall.am, posix/include/aio.h, posix/include/devctl.h,
posix/include/mqueue.h, posix/include/sched.h,
posix/include/semaphore.h, posix/include/rtems/posix/cancel.h,
posix/include/rtems/posix/priority.h,
posix/include/rtems/posix/psignal.h,
posix/include/rtems/posix/threadsup.h,
posix/include/rtems/posix/timer.h,
posix/inline/rtems/posix/priority.inl,
posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c,
posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c,
posix/src/cancel.c, posix/src/cancelrun.c, posix/src/cleanuppop.c,
posix/src/cleanuppush.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/condwait.c, posix/src/condwaitsupp.c, posix/src/key.c,
posix/src/keycreate.c, posix/src/keydelete.c,
posix/src/keygetspecific.c, posix/src/keyrundestructors.c,
posix/src/keysetspecific.c, posix/src/mqueue.c,
posix/src/mqueueclose.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuegetattr.c,
posix/src/mqueuenametoid.c, posix/src/mqueuenotify.c,
posix/src/mqueueopen.c, posix/src/mqueuereceive.c,
posix/src/mqueuerecvsupp.c, posix/src/mqueuesend.c,
posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.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/mutexdefaultattributes.c, posix/src/mutexdestroy.c,
posix/src/mutexgetprioceiling.c, posix/src/mutexlock.c,
posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c,
posix/src/mutextrylock.c, posix/src/mutexunlock.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/ptimer.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/semtrywait.c, posix/src/semunlink.c,
posix/src/semwait.c, posix/src/setcancelstate.c,
posix/src/setcanceltype.c, posix/src/sysconf.c,
posix/src/testcancel.c: Add missing copyright statements.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/include/rtems/posix/cond.h,
posix/include/rtems/posix/intr.h, posix/include/rtems/posix/key.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/include/rtems/posix/threadsup.h,
posix/include/rtems/posix/timer.h, posix/src/cond.c,
posix/src/intr.c, posix/src/key.c, posix/src/keycreate.c,
posix/src/keydelete.c, posix/src/keygetspecific.c,
posix/src/keyrundestructors.c, posix/src/keysetspecific.c,
posix/src/killinfo.c, posix/src/mqueue.c,
posix/src/mqueuerecvsupp.c, posix/src/mqueuesendsupp.c,
posix/src/mqueuetranslatereturncode.c, posix/src/mutex.c,
posix/src/posixintervaltotimespec.c,
posix/src/posixtimespecsubtract.c, posix/src/psignal.c,
posix/src/pthread.c, posix/src/ptimer1.c, posix/src/semaphore.c,
posix/src/sysconf.c: Convert to using c99 fixed size types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
| |
before enabling dispatching
|
|
|
|
|
|
|
|
| |
should be correct for other apis as well.
missing page numbers added on some references.
initial attempt at sig_procmask() and pthread_sigmask().
|
| |
|
|
|
|
|
|
| |
of the POSIX API necessary to support the GNAT runtime to initially compile.
We now have verified that the specifications for the necessary routines
are correct per the POSIX standards we have.
|
| |
|
|
|