[RTEMS Project] #2843: Use self-contained objects instead of Classic API for drivers and support libraries
RTEMS trac
trac at rtems.org
Wed Dec 21 06:43:21 UTC 2016
#2843: Use self-contained objects instead of Classic API for drivers and support
libraries
-----------------------------+------------------------------
Reporter: sebastian.huber | Owner: sebastian.huber
Type: enhancement | Status: new
Priority: normal | Milestone: 4.12
Component: cpukit | Version: 4.12
Severity: normal | Resolution:
Keywords: |
-----------------------------+------------------------------
Comment (by sebastian.huber):
Self-contained means the user must provide the storage for the object.
https://sourceware.org/git/gitweb.cgi?p=newlib-
cygwin.git;a=blob;f=newlib/libc/sys/rtems/include/sys/lock.h;h=c0549db67cbb559edacbef49584156fb8ac346fd;hb=HEAD
What you cannot do with self-contained objects is using them in a
distributed system with distinct address spaces, e.g. a usage case RTEMS
was initially designed for. Here you need one level of indirection to
identify objects globally.
With object identifiers you can detect a use of deleted objects under
certain conditions. You cannot detect use of a deleted and re-used object.
To detect/prevent the use of deleted objects in SMP configurations is
quite difficult (e.g. hazard pointers) and not implemented in RTEMS.
From my point of view the advantages of self-contained objects are
apparent.
--
Ticket URL: <http://devel.rtems.org/ticket/2843#comment:5>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list