00001 #include <sys/mman.h>
00002 #include <native/task.h>
00003 #include <native/alarm.h>
00004
00005 #define TASK_PRIO 99
00006 #define TASK_MODE 0
00007 #define TASK_STKSZ 0
00008
00009 #define ALARM_VALUE 500000
00010 #define ALARM_INTERVAL 250000
00011
00012 RT_ALARM alarm_desc;
00013
00014 RT_TASK server_desc;
00015
00016 void alarm_server (void *cookie)
00017
00018 {
00019 for (;;) {
00020
00021
00022 err = rt_alarm_wait(&alarm_desc);
00023
00024 if (!err) {
00025
00026 }
00027 }
00028 }
00029
00030 int main (int argc, char *argv[])
00031
00032 {
00033 int err;
00034
00035 mlockall(MCL_CURRENT|MCL_FUTURE);
00036
00037
00038
00039 err = rt_alarm_create(&alarm_desc,"MyAlarm");
00040
00041 err = rt_alarm_start(&alarm_desc,
00042 ALARM_VALUE,
00043 ALARM_INTERVAL);
00044
00045
00046 err = rt_task_create(&server_desc,
00047 "MyAlarmServer",
00048 TASK_STKSZ,
00049 TASK_PRIO,
00050 TASK_MODE);
00051 if (!err)
00052 rt_task_start(&server_desc,&alarm_server,NULL);
00053
00054
00055 }
00056
00057 void cleanup (void)
00058
00059 {
00060 rt_alarm_delete(&alarm_desc);
00061 rt_task_delete(&server_desc);
00062 }