[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