мне нужна переменная из которой я бы мог брать время от включения в милисекундах
вот пример
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <time.h>
#include <unistd.h>
struct sigevent sig_spec;
int flag_stop = 0;
unsigned long int ms_count = 0;
struct itimerspec timer_setting;
timer_t timer_h;
void timer_signal(int sig)
{
	ms_count++;
}
void quit_signal()
{
	flag_stop = 1;
}
int main(int argc, char *argv[])
{
    signal(SIGUSR1,timer_signal);
    signal(SIGINT, quit_signal);
    
    
    sig_spec.sigev_notify = SIGEV_SIGNAL;
    sig_spec.sigev_signo = SIGUSR1;
    
    if (timer_create(CLOCK_REALTIME, &sig_spec, &timer_h) < 0)
    {
    	printf("TIMER: timer_create error\n");
    	return 0;
    }
    
	
    timer_setting.it_value.tv_sec = 0;
    timer_setting.it_value.tv_nsec = 1000000;
    timer_setting.it_interval.tv_sec = 0;
    timer_setting.it_interval.tv_nsec = 1000000;
    
    if (timer_settime(timer_h, 0, &timer_setting,NULL) < 0)
    {
    	printf("TIMER: timer_settime error\n");
    	return 0;
    }
	
	while(flag_stop == 0)
    {
    	sleep(1);
    }
    
	timer_delete(timer_h);
	
	printf("MS: %lu\n",ms_count);
	return 1;
}
gcc main.c -o main -lrt
и вот чё получается, например:
sh-3.00$ time ./main 
MS: 13264
real    0m17.023s
user    0m0.005s
sys     0m0.005s
куда делось ~4 секунды непонятно, всё отработало мгновенно
неужто за 17 секунд такая ошибка набежала...
как в линухе завести чёткий таймер на милисекунду
и без работы напрямую с hpet ибо ядро 2.6.13 (или 15, непомню) и там он вроде как есть (в логах чёто есть) но даже примеры из доков ядра не пашут.
P.S. в офтопике при использовании мультимедиа таймеров милисекунда тикает чётко (+- 10 микросекунд) на такойже матери

    
      Ответ на:
      
          комментарий
        от tailgunner 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от dilmah 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от dilmah 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от tailgunner 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от tailgunner 
  
    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум POSIX таймеры (2011)
 - Форум Таймер в отдельном потоке. (2012)
 - Форум Подскажите (sigaction + timer) (2001)
 - Форум timer_settime-проблема с переодическим таймером. (2005)
 - Форум Таймеры в Си (2015)
 
- Форум Обёртка над Posix Timers (2016)
 - Форум Помогите разобраться с сигналами (2003)
 - Форум Помогите разобраться с программой! (2020)
 - Форум Переход от LinuxThreads к NTPL (2004)
 - Форум Обработчик таймера для переключения контекста (2016)