goodprog.c
来自「Vxworks的培训教程,大家分享下啊,」· C语言 代码 · 共 62 行
C
62 行
/* goodProg.c - fixes badProg.c */#include "vxWorks.h"#include "semLib.h"#include "stdio.h"#include "taskLib.h"#include "sysLib.h"void foo(char flag);LOCAL SEM_ID semId;STATUS startFoo (char *pPrintStr) { char flag; flag = *pPrintStr; if (semId == NULL) { if ((semId = semMCreate (SEM_Q_PRIORITY | SEM_DELETE_SAFE | SEM_INVERSION_SAFE)) == NULL) { perror ("semMCreate failed"); return ERROR; } } if (taskSpawn ("tFoo", 200, 0, 5000, (FUNCPTR) foo, flag, 0,0,0,0,0,0,0,0,0) == ERROR) { perror ("taskSpawn failed"); return (ERROR); } taskDelay (sysClkRateGet () * 5); return (OK); }void foo (char flag) { FOREVER { if (semTake (semId, WAIT_FOREVER) == ERROR) { perror ("semTake failed"); return; } if (flag == 'y') printf ("Critical nonsense...\n"); semGive (semId); taskDelay (sysClkRateGet() * 3); } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?