How you prevent a possible race condition between the processes that share memory?
It will be very likely that Assetto Corsa will overwrite the values in memory at a high rate that you are currently reading. When some values cannot be written with an atomar operation you end up having values where some bytes contain old data while others contain new.
Or does this memory mapped variant guarantee that you can read all data consistently?