Don Dailey wrote:
On Wed, 2007-03-07 at 22:53 +0100, Gunnar Farneback wrote:
- To abort the asynchronous genmove, the controller should send the (synchronous) command abort_async_genmove. If the engine has not returned the asynchronous genmove response before responding to the abort command, it is no longer allowed to return a move. I'm open
for discussion on the exact name and whether it should return an error if the move had already been sent (I don't think it should).
But what about race conditions here? The engine may be responding to the async_genmove command an instant before it realizes an abort command just arrived. In this case it would be violating your rule but it wouldn't be anyone's fault.
There is no race condition because commands _are_ read synchronously. But responses _may be_ sent asynchronously.
Paul