1 /* -------------------------------------------------------------------- */
2 /* usleep.c								*/
3 /*									*/
4 /*  Copyright (C) 1999 Angelo Masci					*/
5 /*									*/
6 /*  This library is free software; you can redistribute it and/or	*/
7 /*  modify it under the terms of the GNU Library General Public		*/
8 /*  License as published by the Free Software Foundation; either	*/
9 /*  version 2 of the License, or (at your option) any later version.	*/
10 /*									*/
11 /*  This library is distributed in the hope that it will be useful,	*/
12 /*  but WITHOUT ANY WARRANTY; without even the implied warranty of	*/
13 /*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU	*/
14 /*  Library General Public License for more details.			*/
15 /*									*/
16 /*  You should have received a copy of the GNU Library General Public	*/
17 /*  License along with this library; if not, write to the Free		*/
18 /*  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.	*/
19 /*									*/
20 /*  You can contact the author at this e-mail address:			*/
21 /*									*/
22 /*  angelo@styx.demon.co.uk						*/
23 /*									*/
24 /* -------------------------------------------------------------------- */
25 /* $Id$
26    -------------------------------------------------------------------- */
27 
28 #include <unistd.h>
29 #include <sys/time.h>
30 #include <sys/types.h>
31 
32 #include "common.h"
33 
34 /* -------------------------------------------------------------------- */
35 /* -------------------------------------------------------------------- */
libcommon_usleep(long microseconds)36 void libcommon_usleep(long microseconds)
37 {
38 #if defined(LINUX)
39 	usleep(microseconds);
40 #else
41         struct  timeval
42                 timeout;
43 
44         timeout.tv_usec = microseconds % 1000000;
45         timeout.tv_sec  = microseconds / 1000000;
46 
47         select(0, NULL, NULL, NULL, &timeout);
48 #endif
49 }
50