Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: WinBoard and pondering under W98

Author: Dan Homan

Date: 07:00:41 07/29/99

Go up one level in this thread


On July 29, 1999 at 09:43:00, frank phillips wrote:

>On July 28, 1999 at 23:20:22, Robert Hyatt wrote:
>
>>On July 28, 1999 at 16:16:56, Frank Phillips wrote:
>>
>>>
>>>I had hoped that testing for input during pondering would be as simple as
>>>copying the Inter()/CheckInput() code from ExChess/Crafty, but I seem to be
>>>missing something.
>>>
>>>Everything works fine in a non-xboard mode DOS box (simple kbhit()), but my
>>>program (called Searcher by the way) has stopped recognising input from
>>>WinBoard.
>>>
>>>In xboard mode I set setbuf(stdin, NULL) and signal(SIGINT, SIG_IGN).
>>>
>>>Any help or hints would be greatly appreciated, although I should point out that
>>>I know nothing about Pipes and so forth.
>>>
>>>Frank
>>
>>
>>Simply copy the CheckInput() function from Crafty.  In a dos box, kbhit() is
>>ok.  With winboard, you need PeekNamedPipe().
>
>
>Bob
>
>Thanks for the response, but I obviously did not express myself clearly enough.
>What you suggest is exactly what I did.  It worked in a DOS box but not with
>WinBoard, and I wondered whether it should have worked or if there is something
>else I needed to do.
>
>Frank

One problem I had was with the input buffering of the c++ "cin" statement
which I was using to read in input from winboard (and xboard).  I am
sure that similar problems exist if you are using "scanf" in c.  What
happens is that the data gets read into the input buffer before you call
"PeekNamedPipe()" so "PeekNamedPipe()" doesn't see any input.

What I did in EXchess to fix this is to check "cin->in_avail()" to see
if anything was in the input buffer.  This solved the problem for me.
I notice that you do "setbuf(stdin, NULL)" in xboard to prevent
this problem... I haven't tried this so I don't know if there are any
pitfalls.

One thing to be sure to try with Winboard or Xboard is the "-debug"
flag....  This can often give you an excellent idea of what is going
on by showing you exactly what messages were sent between the two
programs.

 - Dan



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.