Strictly atomic operations

Sebastian Huber sebastian.huber at
Mon Jan 23 08:37:48 UTC 2017

Hello Matt,

On 20/01/17 20:12, Matt Rippa wrote:
> Greetings,
> In VxWorks 5.5 we use taskLock()/taskUnlock() to stop the possibility 
> of preemption for a critical region of code. This doesn't stop 
> interrupts as described here: 
> <>

there is currently no API function for this.

> What would be the recommended approach in rtems? Using semaphores 
> would not prevent a higher priority thread from preempting me.

The thread dispatch disable level used internally would provide the 
functionality of taskLock()/taskUnlock(). What is your use case for 
this? Why can't you use a mutex?

The Universal Memory Allocator (UMA) of libbsd disables thread 
dispatching to access the per-processor caches, however, it should be 
quite rare to have such a use case at application level.

Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

More information about the users mailing list