xboard-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XBoard-devel] release of 4.4.1 this weekend?


From: h.g. muller
Subject: Re: [XBoard-devel] release of 4.4.1 this weekend?
Date: Tue, 06 Oct 2009 09:07:38 +0200


think the only outstanding bug is the premove one... and that one seems
to play hard to get:(

Does the premove bug still occur in the current version? If it does,
could someone make a debug file showing a case where it occurs?

The current version should be safe against a race condition, where
the incoming move from the ICS hits you between concluding that
the entered move is a premove, and actually storing it and setting
the premove flag. I have no idea if such a race condition actually exists
(i.e. if this part of the code is interruptable); it seems pretty unlikely
anyway, as this is just a few lines of code, except that there also is
a debug print statement in that code, so with -debug on there might
be a system call involved which takes a long time.

Otherwise I can't imagine how anything could be wrong with it.
Once a move is entered, code in UserMoveTest (backend.c)
decides if it is a premove (entered during the turn of the side
the user is not playing, so it involves testing gameMode, which has
a fixed value during the game, and the currentMove number).
If it is found to be a premove, the from and to square are stored,
and the flag gotPremove is set.

In places where a move is received from the ICS, this gotPremove flag
is tested, and if it was set, UserMoveEvent() is called like the move
was entered now. This calls UserMoveTest(), and this tim the move
passes as a normal one, as the side-to-move changed by the ICS move.
I don't see how this could ever fail. Except for the race condition.

Lots of other bugs have been fixed, so I would like to release 4.4.1
soon (say this weekend). If we can fix premove up to then that would be
great, if not, we'll wait for the next version. Let me know what you
think or if you know of anything else that needs to be fixed/included
before 4.4.1.

cheers
    ARUN






reply via email to

[Prev in Thread] Current Thread [Next in Thread]