(no title)
mjpt777 | 11 years ago
However the data structure would be corrupt if writer one never completed. This is corruption and not the definition of wait-free.
mjpt777 | 11 years ago
However the data structure would be corrupt if writer one never completed. This is corruption and not the definition of wait-free.
danbruc|11 years ago
You can even go a step further and make writer two block. Just assume that the next thing it does is waiting for a response from the receiver of its message. Now because writer one failed the message never reaches the receiver, the receiver never sends a response and the writer waits indefinitely for the response, i.e. is blocked. Now the failed writer one is really and the only reason writer two is blocked, even though only indirectly.
And you can not really call it a corruption of the data structure because it is the exact same stated that occurs during normal operation. If writer one would resume execution after two weeks suddenly the corruption would be gone.