X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Frawdsp.c;h=8bdc1a038d7fa79508edfecc0d4b59ace32bf654;hb=1f6f420ff000a2f0f5bec0845da2fa51170573c9;hp=0edfafdd7d1e6ea2a5610f983f96af32f2006156;hpb=cbf4ad5e9942032a96215a4c7f095a4777bf0021;p=gnushogi.git diff --git a/gnushogi/rawdsp.c b/gnushogi/rawdsp.c index 0edfafd..8bdc1a0 100644 --- a/gnushogi/rawdsp.c +++ b/gnushogi/rawdsp.c @@ -35,6 +35,8 @@ #include #include #include +#include +#include #include "gnushogi.h" #include "rawdsp.h" @@ -627,6 +629,12 @@ Raw_OutputMove(void) void +Raw_UpdateClocks(void) +{ +} + + +void Raw_UpdateDisplay(short f, short t, short redraw, short isspec) { @@ -983,57 +991,19 @@ Raw_ShowPostnValues(void) } -/* - * Determine the time that has passed since the search was started. If the - * elapsed time exceeds the target(ResponseTime + ExtraTime) then set timeout - * to true which will terminate the search. - * iop = COMPUTE_MODE calculate et, bump ETnodes - * iop = COMPUTE_AND_INIT_MODE calculate et, set timeout if time exceeded, - * set reference time - */ void -Raw_ElapsedTime(ElapsedTime_mode iop) +Raw_PollForInput(void) { - long current_time; -#ifdef HAVE_GETTIMEOFDAY - struct timeval tv; - gettimeofday(&tv, NULL); - current_time = tv.tv_sec*100 + (tv.tv_usec/10000); -#else - et = ((current_time = time((long *) 0)) - time0) * 100; -#endif - -#ifdef INTERRUPT_TEST - if (iop == INIT_INTERRUPT_MODE) - { - itime0 = current_time; - } - else if (iop == COMPUTE_INTERRUPT_MODE) - { - it = current_time - itime0; + static struct pollfd pollfds[1] = { /* [0] = */ { /* .fd = */ STDIN_FILENO, + /* .events = */ POLLIN } }; + int cnt = poll(pollfds, sizeof(pollfds)/sizeof(pollfds[0]), 0); + if (cnt < 0) { + perror("polling standard input"); + ExitShogi(); } - else -#endif - { -#ifdef HAVE_GETTIMEOFDAY - et = current_time - time0; -#endif - ETnodes = NodeCnt + znodes; - - if (et < 0) - { -#ifdef INTERRUPT_TEST - printf("elapsed time %ld not positive\n", et); -#endif - et = 0; - } - - if (iop == COMPUTE_AND_INIT_MODE) - { - if ((et > (ResponseTime + ExtraTime)) && (Sdepth > MINDEPTH)) - flag.timeout = true; - - time0 = current_time; - } + if (cnt) { /* if anything to read, or error occured */ + if (!flag.timeout) + flag.back = true; /* previous: flag.timeout = true; */ + flag.bothsides = false; } }