diff options
author | darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-11 20:09:02 +0000 |
---|---|---|
committer | darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-11 20:09:02 +0000 |
commit | 5252c2920ce5487221f7ce1f902f040578317194 (patch) | |
tree | 9d4d87941ff694cea165359922d9387594c490db /StdLib | |
parent | 6c0ebd5f2f53d5c4d6a91fd0b9148ba23e730c39 (diff) | |
download | edk2-5252c2920ce5487221f7ce1f902f040578317194.zip edk2-5252c2920ce5487221f7ce1f902f040578317194.tar.gz edk2-5252c2920ce5487221f7ce1f902f040578317194.tar.bz2 |
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
Diffstat (limited to 'StdLib')
-rw-r--r-- | StdLib/Include/unistd.h | 4 | ||||
-rw-r--r-- | StdLib/LibC/Uefi/select.c | 27 |
2 files changed, 16 insertions, 15 deletions
diff --git a/StdLib/Include/unistd.h b/StdLib/Include/unistd.h index df78690..2134f15 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 8da03e6..830e011 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,
|