2008-05-04 Ramiro Polla <ramiro@lisha.ufsc.br>

* include/sys/time.h (useconds_t): typedef.
        * include/unistd.h (usleep): Add prototype.
        * mingwex/usleep.c: New file.
        * mingwex/makefile.in: Add usleep source and object.
This commit is contained in:
Chris Sutcliffe 2008-05-04 12:18:52 +00:00
parent d5992b586e
commit 1e6db69571
4 changed files with 55 additions and 1 deletions

View File

@ -1,4 +1,11 @@
2008-04-02 Ramiro Polla <ramiro@lisha.ufsc.br>
2008-05-04 Ramiro Polla <ramiro@lisha.ufsc.br>
* include/sys/time.h (useconds_t): typedef.
* include/unistd.h (usleep): Add prototype.
* mingwex/usleep.c: New file.
* mingwex/makefile.in: Add usleep source and object.
2008-05-02 Ramiro Polla <ramiro@lisha.ufsc.br>
Make strtod() conform to C99.

View File

@ -31,6 +31,11 @@
extern "C" {
#endif
#if !defined __NO_ISOCEXT
#include <sys/types.h> /* For useconds_t. */
int __cdecl __MINGW_NOTHROW usleep(useconds_t useconds);
#endif /* Not __NO_ISOCEXT */
/* This is defined as a real library function to allow autoconf
to verify its existence. */

View File

@ -38,6 +38,7 @@ DISTFILES = Makefile.in configure configure.in aclocal.m4 \
wcrtomb.c wctob.c mbrtowc.c btowc.c mb_wc_common.h \
gettimeofday.c isblank.c iswblank.c \
basename.c dirname.c \
usleep.c \
tsearch.c twalk.c tdelete.c tfind.c
MATH_DISTFILES = \
@ -174,6 +175,7 @@ FENV_OBJS = fesetround.o fegetround.o \
feraiseexcept.o fetestexcept.o fesetexceptflag.o
POSIX_OBJS = \
dirent.o wdirent.o getopt.o ftruncate.o gettimeofday.o \
usleep.o \
basename.o dirname.o tsearch.o twalk.o tdelete.o tfind.o
REPLACE_OBJS = \
mingw-aligned-malloc.o mingw-fseek.o

40
winsup/mingw/mingwex/usleep.c Executable file
View File

@ -0,0 +1,40 @@
/*
* usleep
* Implementation according to:
* The Open Group Base Specifications Issue 6
* IEEE Std 1003.1, 2004 Edition
*/
/*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* Contributed by:
* Ramiro Polla <ramiro@lisha.ufsc.br>
*/
#include <sys/types.h>
#include <errno.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
int __cdecl usleep(useconds_t useconds)
{
if(useconds == 0)
return 0;
if(useconds >= 1000000)
return EINVAL;
Sleep(useconds / 1000);
return 0;
}