From 5252c2920ce5487221f7ce1f902f040578317194 Mon Sep 17 00:00:00 2001 From: darylm503 Date: Sun, 11 Sep 2011 20:09:02 +0000 Subject: StdLib|LibC: Implement the sleep() function. Implement the sleep() function and make both sleep() and usleep() public. Required initially for Python, but these functions have general applicability. Signed-off-by: duanev@gmail.com Reviewed-by: darylm503 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12323 6f19259b-4bc3-4df7-8a09-765794883524 --- StdLib/Include/unistd.h | 4 ++-- StdLib/LibC/Uefi/select.c | 27 ++++++++++++++------------- 2 files changed, 16 insertions(+), 15 deletions(-) (limited to 'StdLib') diff --git a/StdLib/Include/unistd.h b/StdLib/Include/unistd.h index df78690525..2134f15765 100644 --- a/StdLib/Include/unistd.h +++ b/StdLib/Include/unistd.h @@ -37,6 +37,8 @@ extern int optind; pid_t getpgrp(void); pid_t tcgetpgrp(int); char *getpass(const char *); +int usleep(useconds_t); +unsigned int sleep(unsigned int); // Networking long gethostid(void); @@ -84,7 +86,6 @@ int setgid(gid_t); int setpgid(pid_t, pid_t); pid_t setsid(void); int setuid(uid_t); -unsigned int sleep(unsigned int); long sysconf(int); int tcsetpgrp(int, pid_t); @@ -127,7 +128,6 @@ void swab(const void *, void *, size_t); int symlink(const char *, const char *); void sync(void); useconds_t ualarm(useconds_t, useconds_t); -int usleep(useconds_t); pid_t vfork(void) __RENAME(__vfork14); /* diff --git a/StdLib/LibC/Uefi/select.c b/StdLib/LibC/Uefi/select.c index 8da03e65d0..830e011e0d 100644 --- a/StdLib/LibC/Uefi/select.c +++ b/StdLib/LibC/Uefi/select.c @@ -74,19 +74,14 @@ #define MAX_SLEEP_DELAY 0xfffffffe -// -// Name: -// usleep -// -// Description: -// Implement usleep(3) function. -// -// Arguments: -// Microseconds to sleep. -// -// Returns: -// 0 -// +/** Sleep for the specified number of Microseconds. + + Implements the usleep(3) function. + + @param[in] Microseconds Number of microseconds to sleep. + + @retval 0 Always returns zero. +**/ int usleep( useconds_t Microseconds ) { @@ -98,6 +93,12 @@ usleep( useconds_t Microseconds ) return (0); } +unsigned int +sleep( unsigned int Seconds ) +{ + return (usleep( useconds_t(Seconds * 1000000) )); +} + static int selscan( fd_mask **ibits, -- cgit v1.2.3