Я просто создаю тему с таймером. Даже если я импортирую все библиотеки, которые мне нужны. Он продолжает говорить, что нет никаких ссылок на функции.
Точно говорится, что timer_create(...)
и timer_settime(...)
не имеют ссылок.
Это мой импорт:
#include <stdio.h>
#include <stddef.h>
#include <sched.h>
#include <sys/mman.h>
#include <sys/time.h>
#include <signal.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>
#include <time.h>
И это поток, где я использую эти функции:
void *Turismo(){
const struct timespec periodo = {per_turismos_sec,per_turismos_nsec};
struct sigevent event;
timer_t timer;
struct itimerspec its;
sigset_t sigset;
int signum;
event.sigev_notify = SIGEV_SIGNAL;
event.sigev_signo = SIGRTMAX;
event.sigev_value.sival_ptr = &timer;
if(timer_create(CLOCK_MONOTONIC,&event,&timer)!=0) error();
its.it_interval = periodo;
its.it_value.tv_sec = 0;
its.it_value.tv_nsec = 1;
if(timer_settime(timer,0,&its,NULL)<0) error();
if(sigemptyset(&sigset)<0) error();
if(sigaddset(&sigset,SIGRTMAX)<0) error();
while(1){
sigwait(&sigset,&signum);
// ESPECIFICACION DE LA TAREA
}
if(timer_delete(timer)<0) error();
return NULL;
}
Код не завершен, чтобы упростить исправление .
Для компиляции я использую следующую команду:
gcc -o ejer1 ejer1.c -lpthread
Буду признателен за помощь. Спасибо!