Sponsored Content
Full Discussion: nanosleep
Top Forums Programming nanosleep Post 302454269 by citaylor on Friday 17th of September 2010 01:19:24 PM
Old 09-17-2010
nanosleep seems to also exist in the libposix4.so on Solaris 10
(I guess for backwards compatibility):
Code:
# nm -p /usr/lib/libposix4.so | grep nano
0000009828 T _nanosleep
0000009828 T nanosleep

And a small test program proves that the posix4 version still works fine:
Code:
# cat try.c
#include <time.h>

main()
{
        struct timespec t={0};
        t.tv_sec = 5;
        t.tv_nsec =0;
        printf("%d\n",nanosleep(&t,NULL));
}       
# gcc try.c -lposix4
# time ./a.out 
0

real    0m5.019s
user    0m0.003s
sys     0m0.010s
#

I hope this helps...
 

4 More Discussions You Might Find Interesting

1. Programming

nanosleep

Hello, Can anyone, please, guide me on the use of nanosleep. I'm learning threads. I want to introduce a delay (not nested for loops, something more customizable). Nanosleep looked useful (or any other form of customizable and easy-to-use delay). Sleep is too long. :) (2 Replies)
Discussion started by: ameya
2 Replies

2. Programming

nanosleep returns prematurely, with return value 0

Hi, I have encountered the following problem on Solaris 10: I have a thread that is asleep on nanosleep (set to 24 hours). Something that happens on another thread, causes the nanosleep to exit, even though the time has not elapsed. The returned value is 0 (so it doesn't look like it... (1 Reply)
Discussion started by: MeMyself
1 Replies

3. Programming

Where is nanosleep?

I use nanosleep under solaris10,like follows: #include <pthread.h> #include <time.h> #include <sys/time.h> struct to_info{ void (*to_fn)(void *); void *to_arg; struct timespec to_wait; }; void *timeout_helper(void *arg){ struct to_info *tip; nanosleep(&tip->to_wait,NULL);... (1 Reply)
Discussion started by: konvalo
1 Replies

4. Programming

Nanosleep in signal call

Hi @ll :) I have a problem with my code but first a short description: 1. I have one signal call SIGUSR1 2. In the signal I try to use nanosleep and now: When I put kill -SIGUSR1 pid --> sometimes works fine, sometimes returns me an error with ,,Interrupt system call", sometimes I got... (5 Replies)
Discussion started by: mattdj
5 Replies
nanosleep(3RT)						    Realtime Library Functions						    nanosleep(3RT)

NAME
nanosleep - high resolution sleep SYNOPSIS
cc [ flag... ] file... -lrt [ library... ] #include <time.h> int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); DESCRIPTION
The nanosleep() function causes the current thread to be suspended from execution until either the time interval specified by the rqtp argument has elapsed or a signal is delivered to the calling thread and its action is to invoke a signal-catching function or to terminate the process. The suspension time may be longer than requested because the argument value is rounded up to an integer multiple of the sleep resolution or because of the scheduling of other activity by the system. But, except for the case of being interrupted by a signal, the suspension time will not be less than the time spec- ified by rqtp, as measured by the system clock, CLOCK_REALTIME. The use of the nanosleep() function has no effect on the action or blockage of any signal. RETURN VALUES
If the nanosleep() function returns because the requested time has elapsed, its return value is 0. If the nanosleep() function returns because it has been interrupted by a signal, the function returns a value of -1 and sets errno to indi- cate the interruption. If the rmtp argument is non-NULL, the timespec structure referenced by it is updated to contain the amount of time remaining in the interval (the requested time minus the time actually slept). If the rmtp argument is NULL, the remaining time is not returned. If nanosleep() fails, it returns -1 and sets errno to indicate the error. ERRORS
The nanosleep() function will fail if: EINTR The nanosleep() function was interrupted by a signal. EINVAL The rqtp argument specified a nanosecond value less than zero or greater than or equal to 1000 million. ENOSYS The nanosleep() function is not supported by this implementation. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
sleep(3C), time.h(3HEAD), attributes(5), standards(5) SunOS 5.10 28 Jun 2002 nanosleep(3RT)
All times are GMT -4. The time now is 09:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy