I have two threads running in the same server. On thread handles incoming ipc messages from the clients in different address spaces and the other thread does the work. The thread handling the incoming ipc needs to pass an integer value to the worker thread. Could I synchronize them using  

int l4util_cmpxchg32 (volatile l4_uint32_t *dest, l4_uint32_t cmp_val, l4_uint32_t new_val)

the worker thread could then check the value of dest to get the integer. Would the worker thread need to use an atomic read function when it reads the value of dest and if so which function would the worker thread use for the atomic read?

thanks,