Subrutina gettimerid

Finalidad

Asigna un temporizador de intervalos por proceso.

Biblioteca

Biblioteca C estándar (libc.a)

Sintaxis

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

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

Descripción

La subrutina gettimerid se utiliza para asignar un temporizador de intervalo por proceso basado en el temporizador con el tipo de temporizador especificado. El ID exclusivo se utiliza para identificar el temporizador de intervalo en las solicitudes de temporizador de intervalo. (Para obtener más información, consulte la subrutina getinterval ). El tipo de temporizador concreto, el parámetro timertype , se define en el archivo sys/time.h y puede identificar un temporizador de todo el sistema o un temporizador por proceso. El mecanismo mediante el cual se debe notificar al proceso de la caducidad del suceso de temporizador es el parámetro notifytype , que se define en el archivo sys/events.h .

El parámetro timertype representa uno de los siguientes tipos de temporizador:

Elemento Descripción
HORAOFDAY Temporizador de reloj del sistema POSIX . Este temporizador representa el reloj de hora del día para el sistema. Para este temporizador, los valores devueltos por la subrutina gettimer y especificados por la subrutina settimer representan la cantidad de tiempo desde 00:00:00 GMT, 1 de enero de 1970, en nanosegundos.
TIMERID_ALRM Temporizador de alarma. Este temporizador planifica la entrega de una señal SIGALRM en un temporizador especificado en la llamada a la subrutina settimer .
TIPO_REAL Temporizador en tiempo real. El temporizador en tiempo real disminuye en tiempo real. Se entrega una señal SIGALRM cuando caduca este temporizador.
TIPO_REAL_HORA Temporizador por hebra en tiempo real. Disminuye en tiempo real y entrega una señal SIGTALRM cuando caduca. El SIGTALRM se envía a la hebra que establece el temporizador. Cada hilo tiene su propio temporizador y puede manipular su propio temporizador. Este temporizador sólo está soportado con el modelo de hebra 1: 1. Si el temporizador se utiliza en el modelo de hebra M: N, se pueden producir resultados no definidos.
TIPO_VIRTUAL Temporizador virtual. El temporizador virtual disminuye en el tiempo virtual de proceso. sólo se ejecuta cuando el proceso se ejecuta en modalidad de usuario. Una señal SIGVTALRM se entrega cuando caduca.
PRO_TIMERID_F Temporizador de perfilado. El temporizador de creación de perfiles disminuye cuando se ejecuta en modalidad de usuario y cuando el sistema se ejecuta para el proceso. Está diseñado para ser utilizado por procesos para perfilar su ejecución estadísticamente. Se entrega una señal SIGPROF cuando caduca el temporizador de perfilado.

Los temporizadores de intervalo con un valor de notificación de DELIVERY_SIGNAL se heredan a través de una subrutina exec .

Parámetros

Elemento Descripción
tipo_notificación Notifica al proceso de la caducidad del suceso de temporizador.
timertype Identifica un temporizador de todo el sistema o un temporizador por proceso.

Valores de retorno

Si la subrutina gettimerid se ejecuta correctamente, devuelve una estructura timer_t que se puede pasar a las subrutinas de temporizador de intervalo por proceso, como por ejemplo la subrutina getinterval . Si se produce un error, se devuelve el valor -1 y se establece errno.

Códigos de error

Si la subrutina gettimerid falla, se devuelve el valor -1 y errno se establece en uno de los siguientes códigos de error:

Elemento Descripción
FEAGA El proceso de llamada ya ha asignado todos los temporizadores de intervalo asociados con el tipo de temporizador especificado para esta implementación.
EINVAL El tipo de temporizador especificado no está definido.