On Thu, Aug 13, 2015 at 4:57 AM, Saurabh Gadia <ga...@usc.edu> wrote: > For time being I am calculating it this way: > > #define typeaddr(addr, type, member) \ > (type *)((char *)(addr) - offsetof(type, member)) > If you need this, use RTEMS_CONTAINER_OF macro
> CORE_mutex_Control *the_mutex= typeaddr(holder->Wait.queue, > CORE_mutex_Control, Wait_queue); > if holder is from the CORE_mutex_Control, you can use container-of on it directly. > Is there any other easy way? Like I guess we maintain objects so is there a > way to get Object from its id. But its again convoluted problem - how to get > id? > id are used from the upper APIs. they get converted into pointers by _Objects_Get(). I don't know if that is what you want to do or not, however. It looks like you're in the right direction. Gedare > Thanks, > > Saurabh Gadia > > On Thu, Aug 13, 2015 at 12:20 AM, Saurabh Gadia <ga...@usc.edu> wrote: >> >> Hi, >> >> For a given thread waiting on a mutex, how can we extract the >> mutex_control on which this thread is waiting? For example in >> Thread_Change_priority(). So do the thread_control structure has any >> reference to mutex on which it is blocked? >> >> Thanks, >> >> Saurabh Gadia > > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel