global/multiprocessor operations on core objects

Joel Sherrill joel.sherrill at
Mon Oct 8 20:36:29 UTC 2012

On 10/08/2012 02:55 PM, Andrei Dimitrief-Jianu wrote:
> Hello,
> Can anyone clarify how the _callout() type defined for each core
> object is employed to support global/multiprocessor operations on core
> objects?
Are you referring to the Objects_Thread_queue_Extract_callout
type and its usage?

If so, it is a pointer to a method that is invoked when a thread
is blocked on a remote object and the thread needs to be removed
from the remote blocking queue. Say you delete a thread while
it is waiting on a remote semaphore. This method is invoked
to request that the proxy used on the remote node is removed
from that blocking queue. Otherwise, the thread is deleted and
there is still a proxy on the remote thread queue.

Remember this only applies to the non-SMP multiprocessing
support which assumes the CPUs are largely independent.

> Thanks!
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at

More information about the devel mailing list