summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-05 19:38:37 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-05 19:38:37 +0000
commit1c55d2e868d6f7d22da5fa986a0359ede8793178 (patch)
treeb3221bd853ae0118115cc5a42ccb1c986d85c307 /c
parentFollowing comments from Eric Norum <eric@cls.usask.ca>, a fairly (diff)
downloadrtems-1c55d2e868d6f7d22da5fa986a0359ede8793178.tar.bz2
Split unistd.c file into sysconf.c and sleep.c.
Diffstat (limited to 'c')
-rw-r--r--c/src/exec/posix/src/Makefile.in4
-rw-r--r--c/src/exec/posix/src/sleep.c27
-rw-r--r--c/src/exec/posix/src/sysconf.c (renamed from c/src/exec/posix/src/unistd.c)0
3 files changed, 29 insertions, 2 deletions
diff --git a/c/src/exec/posix/src/Makefile.in b/c/src/exec/posix/src/Makefile.in
index a815a6943a..8a5098394d 100644
--- a/c/src/exec/posix/src/Makefile.in
+++ b/c/src/exec/posix/src/Makefile.in
@@ -83,8 +83,8 @@ TIMER_C_PIECES=ptimer ptimer1
C_PIECES = adasupp $(CANCEL_C_PIECES) $(CONDITION_VARIABLE_C_PIECES) \
$(ID_C_PIECES) $(KEY_C_PIECES) $(MESSAGE_QUEUE_C_PIECES) \
$(MUTEX_C_PIECES) $(PTHREAD_C_PIECES) \
- $(PSIGNAL_C_PIECES) sched $(SEMAPHORE_C_PIECES) \
- $(TIME_C_PIECES) $(TIMER_C_PIECES) types unistd $(ENOSYS_C_PIECES) \
+ $(PSIGNAL_C_PIECES) sched $(SEMAPHORE_C_PIECES) sleep sysconf \
+ $(TIME_C_PIECES) $(TIMER_C_PIECES) types $(ENOSYS_C_PIECES) \
$(BUILD_FOR_NOW_C_PIECES)
C_FILES = $(C_PIECES:%=%.c)
diff --git a/c/src/exec/posix/src/sleep.c b/c/src/exec/posix/src/sleep.c
new file mode 100644
index 0000000000..dec0ed0a54
--- /dev/null
+++ b/c/src/exec/posix/src/sleep.c
@@ -0,0 +1,27 @@
+/*
+ * 3.4.3 Delay Process Execution, P1003.1b-1993, p. 81
+ *
+ * $Id$
+ */
+
+#include <time.h>
+#include <unistd.h>
+
+#include <rtems/system.h>
+
+
+unsigned int sleep(
+ unsigned int seconds
+)
+{
+ /* XXX can we get away with this implementation? */
+ struct timespec tp;
+ struct timespec tm;
+
+ tp.tv_sec = seconds;
+ tp.tv_nsec = 0;
+
+ nanosleep( &tp, &tm );
+
+ return tm.tv_sec; /* seconds remaining */
+}
diff --git a/c/src/exec/posix/src/unistd.c b/c/src/exec/posix/src/sysconf.c
index 8d930ce33c..8d930ce33c 100644
--- a/c/src/exec/posix/src/unistd.c
+++ b/c/src/exec/posix/src/sysconf.c