event_flags.c

来自「xenomai 很好的linux实时补丁」· C语言 代码 · 共 52 行

C
52
字号
#include <native/event.h>#define EVENT_INIT        0x0           /* No flags present at init */#define EVENT_MODE        EV_PRIO       /* Tasks will wait by priority order */#define EVENT_WAIT_MASK   (0x1|0x2|0x4) /* List of monitored events */#define EVENT_SIGNAL_MASK (0x2)	        /* List of events to send */RT_EVENT ev_desc;void foo (void){    unsigned long mask_ret;    int err;    /* Create an event flag; we could also have attempted to bind to       some pre-existing object, using rt_event_bind() instead of       creating it. */    err = rt_event_create(&ev_desc,			  "MyEventFlagGroup",			  EVENT_INIT,			  EVENT_MODE);    /* Now, wait for some task to post some event flags... */    err = rt_event_wait(&ev_desc,			EVENT_WAIT_MASK,			&mask_ret,			EV_ANY,	/* Disjunctive wait */			TM_INFINITE);    /* ... */}void bar (void){    /* ... */    /* Post some events. */    rt_event_signal(&ev_desc,EVENT_SIGNAL_MASK);    /* ... */}void cleanup (void){    rt_event_delete(&ev_desc);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?