On Wed, Nov 17, 2021 at 10:42 AM Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > > Hello, > > for what is RTEMS_WHO_AM_I used? > > grep -r RTEMS_WHO_AM_I . > ./cpukit/include/rtems/rtems/object.h:#define RTEMS_WHO_AM_I > OBJECTS_WHO_AM_I > > grep -r OBJECTS_WHO_AM_I . > ./cpukit/include/rtems/score/object.h:#define OBJECTS_WHO_AM_I 0 > ./cpukit/include/rtems/rtems/object.h:#define RTEMS_WHO_AM_I > OBJECTS_WHO_AM_I
Looks like a mistake in rtems_task_ident(). if ( name == OBJECTS_ID_OF_SELF ) { *id = _Thread_Get_executing()->Object.id; return RTEMS_SUCCESSFUL; } That should be RTEMS_WHO_AM_I and it doesn't need to be a score constant since it is processed here. Since I don't see a test case that uses this, I looked for rtems_task_ident() calls which used RTEMS_SELF. There are multiple of those. RTEMS_SELF is an id. RTEMS_WHO_AM_I is a name. Unfortunately, the manual says this field can be RTEMS_SELF. If we change to RTEMS_SELF, that uses an id constant for name which works but is sloppy. git blame has 2006 for RTEMS_WHO_AM_I and 1999 for 0 to get the id of the calling task. Honestly, I don't recall anything about either piece of code. I didn't look up the log messages but doubt they would help either. I'm prone to change rtems_task_ident() to use RTEMS_WHO_AM_I since that is more proper. --joel > > -- > embedded brains GmbH > Herr Sebastian HUBER > Dornierstr. 4 > 82178 Puchheim > Germany > email: sebastian.hu...@embedded-brains.de > phone: +49-89-18 94 741 - 16 > fax: +49-89-18 94 741 - 08 > > Registergericht: Amtsgericht München > Registernummer: HRB 157899 > Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler > Unsere Datenschutzerklärung finden Sie hier: > https://embedded-brains.de/datenschutzerklaerung/ > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel