Addressing global removal race in Wayland

9 points by Aks


jmillikin

When the bind request finally arrives at the compositor side, the global won’t exist anymore and the only option left will be to post a protocol error and effectively crash the client.

From a distributed systems engineering perspective, why on earth does receiving an error response to an IPC mean the client must crash? Can't it just log/handle the error and continue with whatever it's doing?

The wl_fixes interface was added to work around the fact that the wl_registry interface is frozen.

I don't have a strong opinion on Wayland's technical merits, but sentences like this plus the drama around Frog Protocols make me think something at the protocol layer is deeply broken. When designing a greenfield protocol intended for to be implemented by independent projects over a multi-decade timespan, isn't backward-compatible evolution one of the most critical parts?