hgm wrote:There is no reasonable chance.bob wrote:But what idiot would send 1/2-1/2 _AFTER_ the move, when there is a reasonable chance that is equivalent to "resign"? Because of the race condition.
There is no known GUI that would make it equivalent to "resign" if you use it when you use it according to the specs.
Then explain how you solve this. My opponent makes 50 reversible moves. I make my 50th reversible move, by playing Qh7+. I then send 1/2-1/2 which is perfectly valid. But my opponent plays Kxh7 instantly and you read that before my draw claim. You send that move to me, and now see my draw claim and say "not valid, you lose."
How do you fix that? Because the _last_ time we had this discussion, that was _exactly_ the problem I had found and reported here and opened a discussion to get it fixed properly. If you have fixed it and said nothing, fine. That's what I wanted. But by saying nothing, what about the other GUIs that are unaware of the issue and have not fixed it. You have changed the semantics of the protocol if you have fixed it, and you have told no one so how can they be compatible?
Have you been following this discussion? First, last time I tried a new version of xboard, it did _not_ fix this problem. 1/2-1/2 after a move was problematic because of the race condition. That's why I brought this up the _last_ time this discussion was held.
Hardly any GUI would equate false claims to forfeits anyway, and those that do make sure they account for te race condition.
You worry for nothing. That is paranoia.
So it is your opinion that current versions of ChessGUI will properly deal with the 1/2-1/2 after a move, and not fall prey to the race condition, and decide that the draw claim is invalid and forfeit the engine? That is not what I have been reading in the author's comments...
The problem with ChessGUI only originates because you resort to illegal use of the 1/2-1/2 command. Do not use it for advance claims or false claims, and you will safe.
It _is_ a problem. And it is a problem in xboard/winboard unless you have silently fixed this over the past year somewhere.
Perhaps one day you will get the point. If I can not safely send 1/2-1/2 _AFTER_ I make a move, to say "the game is over after my move" then I would be an idiot to send it ever. Crafty doesn't make illegal moves. So that is not an issue. 1/2-1/2 is not illegal or invalid after I make a move that satisifies a drawn game definition. But it is unreliable due to the race condition.
BTW, current XBoard will also forfeit you for illegal moves. Does that mean you must be an idiot to make a move, if there is a reasonable chance that it will be taken as equivalent to "resign"? Or do you have confidence that your engine will be abe to pick legal moves?