For time being I am calculating it this way:

#define typeaddr(addr, type, member) \
  (type *)((char *)(addr) - offsetof(type, member))

CORE_mutex_Control *the_mutex= typeaddr(holder->Wait.queue,
CORE_mutex_Control, Wait_queue);

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?

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

Reply via email to