Why is atomicity needed here? I don't see any risk if we write four bytes. The other side will always block to read four bytes as well.