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