gettimerid 서브루틴

용도

각 프로세스 간격 타이머를 할당합니다.

라이브러리

표준 C 라이브러리(libc.a)

구문

#include <sys/time.h>
#include <sys/events.h>

timer_t gettimerid( timertype,  notifytype)
int timertype;
int notifytype;

설명

Gettimerid 서브루틴은 주어진 타이머 유형을 가진 타이머를 기반으로 프로세스별 간격 타이머를 할당하는 데 사용됩니다. 고유 ID는 간격 타이머 요청에서 간격 타이머를 식별하는 데 사용됩니다. (자세한 내용은 getinterval 하위 루틴을 참조하세요.) 특정 타이머 유형인 timertype 매개변수는 sys/time.h 파일에 정의되어 있으며 시스템 전체 타이머 또는 프로세스별 타이머를 식별할 수 있습니다. 프로세스가 타이머 이벤트의 만료에 대한 알림을 받는 메커니즘은 sys/events.h 파일에 정의된 notifytype 매개변수입니다.

Timertype 매개변수는 다음 타이머 유형 중 하나를 나타냅니다:

항목 설명
TimeOfDay POSIX 시스템 클록 타이머. 이 타이머는 시스템의 하루 중 시계를 나타냅니다. 이 타이머의 경우 get타이머 서브루틴이 반환하고 set타이머 서브루틴이 지정한 값은 1970년 1월 1일 00:00:00 GMT 이후 시간을 나노초 단위로 나타냅니다.
TIMERID_ALRM 알람 타이머. 이 타이머는 세티머 서브루틴 호출에 지정된 타이머에 맞춰 SIGALRM 신호 전달을 예약합니다.
TIMERID_REAL 실시간 타이머. 실시간 타이머는 실시간으로 감소합니다. 이 타이머가 만료되면 SIGALRM 신호가 전달됩니다.
Timerid_real_th 실시간, 스레드당 타이머. 실시간으로 감소하고 만료되면 SIGTALRM 신호를 전달합니다. 타이머를 설정하는 스레드로 SIGTALRM이 전송됩니다. 각 스레드에는 자체 타이머가 있으며 자체 타이머를 조작할 수 있습니다. 이 타이머는 1:1 스레드 모델에서만 지원됩니다. M:N 스레드 모델에서 타이머를 사용하는 경우 정의되지 않은 결과가 발생할 수 있습니다.
Timerid_virtual 가상 타이머. 가상 타이머는 프로세스 가상 시간을 감소시킵니다. 로 설정하면 프로세스가 사용자 모드에서 실행될 때만 실행됩니다. 만료되면 SIGVTALRM 신호가 전달됩니다.
TIMERID_PROF 프로파일링 타이머. 프로파일링 타이머는 사용자 모드에서 실행할 때와 프로세스를 위해 시스템이 실행 중일 때 모두 감소합니다. 프로세스에서 실행을 통계적으로 프로파일링하는 데 사용하도록 설계되었습니다. 프로파일링 타이머가 만료되면 SIGPROF 신호가 전달됩니다.

알림 값이 전달_신호인 간격 타이머는 실행 하위 루틴에서 상속됩니다.

매개변수

항목 설명
알림 유형 타이머 이벤트의 만료 시점을 프로세스에 알립니다.
시간 유형 시스템 전체 타이머 또는 프로세스별 타이머를 식별합니다.

리턴 값

Gettimerid 서브루틴이 성공하면 getinterval 서브루틴과 같은 프로세스별 간격 타이머 서브루틴에 전달할 수 있는 timer_t 구조를 반환합니다. 오류가 발생하면 -1 값이 반환되고 errno가 설정됩니다.

오류 코드

Gettimerid 서브루틴이 실패하면 -1 값이 반환되고 errno가 다음 오류 코드 중 하나로 설정됩니다:

항목 설명
EAGAIN 호출 프로세스는 이 구현을 위해 지정된 타이머 유형과 관련된 모든 간격 타이머를 이미 할당했습니다.
EINVAL 지정한 타이머 유형이 정의되지 않았습니다.