/* libevent timers example */
#include <stdio.h>
#include <event2/event.h>
struct event_base * base;
struct event * timer1;
struct event * timer2;
struct timeval period1 = {1, 0};
struct timeval period2 = {2, 0};
int tc1 = 10;
int tc2 = 5;
void timer1_handler(int fd, short int fo, void* arg)
{
printf("timer 1\n");
if(tc1 > 0)
{
tc1--;
evtimer_add(timer1, &period1);
}
}
void timer2_handler(int fd, short int fo, void* arg)
{
printf("timer 2\n");
if(tc2 > 0)
{
tc2--;
evtimer_add(timer2, &period2);
}
}
int main()
{
struct event_config *cfg = event_config_new();
event_config_avoid_method(cfg, "epoll");
base = event_base_new_with_config(cfg);
event_config_free(cfg);
timer1 = evtimer_new(base, timer1_handler, NULL);
timer2 = evtimer_new(base, timer2_handler, NULL);
evtimer_add(timer1, &period1);
evtimer_add(timer2, &period2);
event_base_dispatch(base);
return 0;
}
* This source code was highlighted with Source Code Highlighter.
понедельник, 26 сентября 2011 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий