Huw Davies (@huw) commented about server/protocol.def:
struct desktop_shared_memory {
- unsigned int seq; /* sequence number - server updating if (seq_no & SEQUENCE_MASK) != 0 */ struct shared_cursor cursor; /* global cursor information */
}; typedef volatile struct desktop_shared_memory desktop_shm_t;
+/* Bits that must be clear for client to read */ +#define SEQUENCE_MASK_BITS 4 +#define SEQUENCE_MASK ((1UL << SEQUENCE_MASK_BITS) - 1)
One thing that I was unhappy with when working on this was the need to allow nested updates. I'm not saying that it should be avoided as that seemed tricky, but I just wanted to flag it here.