반응형
nanosleep(2)
#include <time.h>
int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
nanosleep()은 설정된 rqtp 시간동안 실행을 대기하는 함수입니다.
이 함수는 nanosecond(10억분의 1초) 단위의 대기시간을 설정할 수 있습니다.
물론 시스템에서 10억분의 1초를 아직 지원하지 않으므로 정확하게 10억분의 1초 단위로 대기하지는 않습니다.
만약 signal등으로 중단되면 nanosleep()실행중 남은 시간은 rmtp에 저장됩니다.
struct timespec의 구조는 다음과 같습니다.
struct timespec
{
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
파라미터
rqtp
- 수행중 대기할 시간을 설정합니다. 정상적으로 수행되면 이 시간동안 대기합니다.(Input)
struct timespec의 구조는 다음과 같습니다.
struct timespec
{
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
rmtp
- nanosleep()이 수행중 오류로 인하여 대기하는 작업이 중단되면 남은 시간을 저장합니다. (output)
struct timespec의 구조는 다음과 같습니다.
struct timespec
{
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
RETURN
0
- 정상적으로 대기하였습니다.
-1
- 오류가 발생하였으며, 상세한 오류 내용은 errno 전역변수에 설정됩니다.
EINTR : signal이 발생하여 대기가 중단되었습니다. sleep중에 남은 시간은 rmtp에 저장됩니다.
EINVAL : tv_nsec값이 0 ~ 999,999,999가 아니거나, tv_sec이 음수입니다.
see also : 시간(Time, Date) 관련 Library
반응형
'C언어 header > time.h' 카테고리의 다른 글
strptime(3) - format된 문자열 시간을 struct tm으로 변환 (0) | 2019.09.30 |
---|---|
strftime(3) - struct tm을 format된 문자열로 변환 (0) | 2019.09.30 |
mktime(3) - struct tm를 time_t로 변환 (0) | 2019.09.30 |
asctime_r(3) - struct tm 구조체를 날짜 및 시간 표시 문자열로 변환(thread-safe) (0) | 2019.09.30 |
asctime(3) - struct tm 구조체를 날짜 및 시간 표시 문자열로 변환 (1) | 2019.09.30 |