aboutsummaryrefslogtreecommitdiff
path: root/lib/libc_r/uthread/uthread_nanosleep.c
diff options
context:
space:
mode:
authorNate Williams <nate@FreeBSD.org>1996-09-20 06:33:54 +0000
committerNate Williams <nate@FreeBSD.org>1996-09-20 06:33:54 +0000
commitae0baddec3484468bf6c01e4483c1369ff16df48 (patch)
tree935487cdfab28e511c09b2f7b1f8bc5a2ca8c5ff /lib/libc_r/uthread/uthread_nanosleep.c
parent34eeb764115bb3425c92637c311c9eb779f660f8 (diff)
downloadsrc-ae0baddec3484468bf6c01e4483c1369ff16df48.tar.gz
src-ae0baddec3484468bf6c01e4483c1369ff16df48.zip
Remove now un-necessary FreeBSD specific code since our timespec
structure now has the correct member names. Pointed out by: Peter Wemm
Notes
Notes: svn path=/head/; revision=18415
Diffstat (limited to 'lib/libc_r/uthread/uthread_nanosleep.c')
-rw-r--r--lib/libc_r/uthread/uthread_nanosleep.c59
1 files changed, 0 insertions, 59 deletions
diff --git a/lib/libc_r/uthread/uthread_nanosleep.c b/lib/libc_r/uthread/uthread_nanosleep.c
index 58ade9888c35..46ec14beafde 100644
--- a/lib/libc_r/uthread/uthread_nanosleep.c
+++ b/lib/libc_r/uthread/uthread_nanosleep.c
@@ -46,11 +46,7 @@ nanosleep(struct timespec * time_to_sleep, struct timespec * time_remaining)
struct timeval tv;
/* Check if the time to sleep is legal: */
-#if defined(__FreeBSD__)
- if (time_to_sleep == NULL || time_to_sleep->ts_nsec < 0 || time_to_sleep->ts_nsec > 1000000000) {
-#else
if (time_to_sleep == NULL || time_to_sleep->tv_nsec < 0 || time_to_sleep->tv_nsec > 1000000000) {
-#endif
/* Return an EINVAL error : */
errno = EINVAL;
ret = -1;
@@ -60,28 +56,14 @@ nanosleep(struct timespec * time_to_sleep, struct timespec * time_remaining)
TIMEVAL_TO_TIMESPEC(&tv, &current_time);
/* Calculate the time for the current thread to wake up: */
-#if defined(__FreeBSD__)
- _thread_run->wakeup_time.ts_sec = current_time.ts_sec + time_to_sleep->ts_sec;
- _thread_run->wakeup_time.ts_nsec = current_time.ts_nsec + time_to_sleep->ts_nsec;
-#else
_thread_run->wakeup_time.tv_sec = current_time.tv_sec + time_to_sleep->tv_sec;
_thread_run->wakeup_time.tv_nsec = current_time.tv_nsec + time_to_sleep->tv_nsec;
-#endif
/* Check if the nanosecond field has overflowed: */
-#if defined(__FreeBSD__)
- if (_thread_run->wakeup_time.ts_nsec >= 1000000000) {
-#else
if (_thread_run->wakeup_time.tv_nsec >= 1000000000) {
-#endif
/* Wrap the nanosecond field: */
-#if defined(__FreeBSD__)
- _thread_run->wakeup_time.ts_sec += 1;
- _thread_run->wakeup_time.ts_nsec -= 1000000000;
-#else
_thread_run->wakeup_time.tv_sec += 1;
_thread_run->wakeup_time.tv_nsec -= 1000000000;
-#endif
}
/* Reschedule the current thread to sleep: */
@@ -92,80 +74,39 @@ nanosleep(struct timespec * time_to_sleep, struct timespec * time_remaining)
TIMEVAL_TO_TIMESPEC(&tv, &current_time1);
/* Calculate the remaining time to sleep: */
-#if defined(__FreeBSD__)
- remaining_time.ts_sec = time_to_sleep->ts_sec + current_time.ts_sec - current_time1.ts_sec;
- remaining_time.ts_nsec = time_to_sleep->ts_nsec + current_time.ts_nsec - current_time1.ts_nsec;
-#else
remaining_time.tv_sec = time_to_sleep->tv_sec + current_time.tv_sec - current_time1.tv_sec;
remaining_time.tv_nsec = time_to_sleep->tv_nsec + current_time.tv_nsec - current_time1.tv_nsec;
-#endif
/* Check if the nanosecond field has underflowed: */
-#if defined(__FreeBSD__)
- if (remaining_time.ts_nsec < 0) {
-#else
if (remaining_time.tv_nsec < 0) {
-#endif
/* Handle the underflow: */
-#if defined(__FreeBSD__)
- remaining_time.ts_sec -= 1;
- remaining_time.ts_nsec += 1000000000;
-#else
remaining_time.tv_sec -= 1;
remaining_time.tv_nsec += 1000000000;
-#endif
}
/* Check if the nanosecond field has overflowed: */
-#if defined(__FreeBSD__)
- if (remaining_time.ts_nsec >= 1000000000) {
-#else
if (remaining_time.tv_nsec >= 1000000000) {
-#endif
/* Handle the overflow: */
-#if defined(__FreeBSD__)
- remaining_time.ts_sec += 1;
- remaining_time.ts_nsec -= 1000000000;
-#else
remaining_time.tv_sec += 1;
remaining_time.tv_nsec -= 1000000000;
-#endif
}
/* Check if the sleep was longer than the required time: */
-#if defined(__FreeBSD__)
- if (remaining_time.ts_sec < 0) {
-#else
if (remaining_time.tv_sec < 0) {
-#endif
/* Reset the time left: */
-#if defined(__FreeBSD__)
- remaining_time.ts_sec = 0;
- remaining_time.ts_nsec = 0;
-#else
remaining_time.tv_sec = 0;
remaining_time.tv_nsec = 0;
-#endif
}
/* Check if the time remaining is to be returned: */
if (time_remaining != NULL) {
/* Return the actual time slept: */
-#if defined(__FreeBSD__)
- time_remaining->ts_sec = remaining_time.ts_sec;
- time_remaining->ts_nsec = remaining_time.ts_nsec;
-#else
time_remaining->tv_sec = remaining_time.tv_sec;
time_remaining->tv_nsec = remaining_time.tv_nsec;
-#endif
}
/* Check if the entire sleep was not completed: */
-#if defined(__FreeBSD__)
- if (remaining_time.ts_nsec != 0 || remaining_time.ts_sec != 0) {
-#else
if (remaining_time.tv_nsec != 0 || remaining_time.tv_sec != 0) {
-#endif
/* Return an EINTR error : */
errno = EINTR;
ret = -1;