Suspend a thread until a timeout or signal occurs
#include <time.h> int nanosleep( const struct timespec* rqtp, struct timespec* rmtp );
- A pointer to a timespec structure that specifies the time interval for which you want to suspend the thread.
- NULL, or a pointer to a timespec structure where the function can store the amount of time remaining in the interval (the requested time minus the time actually slept).
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The nanosleep() function causes the calling thread to be suspended from execution until either:
- The time interval specified by the rqtp argument has elapsed
- A signal is delivered to the thread, and the signal's action is to invoke a signal-catching function or terminate the process.
- The requested time has elapsed.
- The nanosleep() function was interrupted by a signal (errno is set).
- All timers are in use. You'll have to wait for a process to release one.
- A fault occurred trying to access the buffers provided.
- The nanosleep() function was interrupted by a signal.
- The number of nanoseconds specified by the tv_nsec member of the timespec structure pointed to by rqtp is less than zero or greater than or equal to 1000 million.