Subrutina gettimerid
Finalidad
Asigna un temporizador de intervalos por proceso.
Biblioteca
Biblioteca C estándar (libc.a)
Sintaxis
#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. |