--- gforth/engine/select.c 1998/12/08 22:03:07 1.3 +++ gforth/engine/select.c 1998/12/13 23:30:03 1.4 @@ -37,10 +37,7 @@ int select(int n, fd_set *a, fd_set *b, } do { gettimeofday(&time2,&zone1); - } while(time2.tv_sec < time1.tv_sec); - - do { - gettimeofday(&time2,&zone1); - } while(time2.tv_usec < time1.tv_usec && - time2.tv_sec == time1.tv_sec); + } while((time2.tv_sec < time1.tv_sec) || + ((time2.tv_usec < time1.tv_usec) && + (time2.tv_sec == time1.tv_sec))); }