semaphore.c

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

C
38
字号
#include <native/sem.h>#define SEM_INIT 1	 /* Initial semaphore count */#define SEM_MODE S_FIFO	 /* Wait by FIFO order */RT_SEM sem_desc;void foo (void){    int err;    /* Create a semaphore; we could also have attempted to bind to       some pre-existing object, using rt_sem_bind() instead of       creating it. */    err = rt_sem_create(&sem_desc,"MySemaphore",SEM_INIT,SEM_MODE);    for (;;) {    	/* Now, wait for a semaphore unit... */    	rt_sem_p(&sem_desc,TM_INFINITE);	/* ... */	/* then release it. */	rt_sem_v(&sem_desc);	/* ... */    }}void cleanup (void){    rt_sem_delete(&sem_desc);}

⌨️ 快捷键说明

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