rtems_xxxx_ident() does not support global search for all objects in the classic API

Andrei Dimitrief-Jianu andrei.dimitrief.jianu at gmail.com
Tue Oct 9 21:47:45 UTC 2012


Hello,

Below are two different implementations for rtems_xxxx_ident()
directive, one for semaphores and the second for barriers.

rtems_status_code rtems_semaphore_ident(
  rtems_name  name,
  uint32_t    node,
  rtems_id   *id
)
{
  Objects_Name_or_id_lookup_errors  status;

  status = _Objects_Name_to_id_u32( &_Semaphore_Information, name, node, id );

  return _Status_Object_name_errors_to_status[ status ];
}

rtems_status_code rtems_barrier_ident(
  rtems_name  name,
  rtems_id   *id
)
{
  Objects_Name_or_id_lookup_errors  status;

  status = _Objects_Name_to_id_u32( &_Barrier_Information, name,
OBJECTS_SEARCH_LOCAL_NODE, id );

  return _Status_Object_name_errors_to_status[ status ];
}

Anyone can explain why for barriers the search is done only on the
local node? Was it simply an implementation choice? Any other reason
for that?


Thanks!



More information about the devel mailing list