From 3a6af9c55057c7c85447f53dff3c4d44637f7ac4 Mon Sep 17 00:00:00 2001 From: mycroft Date: Thu, 19 Sep 2002 03:15:43 +0000 Subject: select() -> poll(), nanosleep() --- boggle/boggle/timer.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'boggle') diff --git a/boggle/boggle/timer.c b/boggle/boggle/timer.c index 5ac733b0..64527864 100644 --- a/boggle/boggle/timer.c +++ b/boggle/boggle/timer.c @@ -1,4 +1,4 @@ -/* $NetBSD: timer.c,v 1.5 2001/02/05 00:27:35 christos Exp $ */ +/* $NetBSD: timer.c,v 1.6 2002/09/19 03:15:43 mycroft Exp $ */ /*- * Copyright (c) 1993 @@ -41,12 +41,13 @@ #if 0 static char sccsid[] = "@(#)timer.c 8.2 (Berkeley) 2/22/94"; #else -__RCSID("$NetBSD: timer.c,v 1.5 2001/02/05 00:27:35 christos Exp $"); +__RCSID("$NetBSD: timer.c,v 1.6 2002/09/19 03:15:43 mycroft Exp $"); #endif #endif /* not lint */ #include #include +#include #include #include @@ -105,23 +106,20 @@ static int waitch(delay) long delay; { - fd_set fdbits; - struct timeval duration; + struct pollfd set[1]; - duration.tv_sec = 0; - duration.tv_usec = delay; - FD_ZERO(&fdbits); - FD_SET(STDIN_FILENO, &fdbits); - return (select(32, &fdbits, NULL, NULL, &duration)); + set[0].fd = STDIN_FILENO; + set[0].events = POLLIN; + return (poll(set, 1, delay / 1000)); } void delay(tenths) int tenths; { - struct timeval duration; + struct timespec duration; - duration.tv_usec = (tenths % 10 ) * 100000L; + duration.tv_nsec = (tenths % 10 ) * 100000000L; duration.tv_sec = (long) (tenths / 10); - select(32, 0, 0, 0, &duration); + nanosleep(&duration, NULL); } -- cgit v1.2.3-56-ge451