--- gforth/engine/select.c 1998/12/08 22:03:07 1.3 +++ gforth/engine/select.c 2007/12/31 19:02:25 1.9 @@ -1,12 +1,12 @@ /* select replacement for DOS computers for ms only - Copyright (C) 1995,1998 Free Software Foundation, Inc. + Copyright (C) 1995,1998,2000,2003,2007 Free Software Foundation, Inc. This file is part of Gforth. Gforth is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,8 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with this program; if not, see http://www.gnu.org/licenses/. */ @@ -37,10 +36,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))); }