#define configUSE_MUTEXES 1\r
#define configUSE_COUNTING_SEMAPHORES 1\r
#define configUSE_ALTERNATIVE_API 1\r
#define configUSE_MUTEXES 1\r
#define configUSE_COUNTING_SEMAPHORES 1\r
#define configUSE_ALTERNATIVE_API 1\r
+#define configUSE_RECURSIVE_MUTEXES 1\r
\r
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 10 )\r
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
\r
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 10 )\r
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
#include "AltQTest.h"\r
#include "AltPollQ.h"\r
#include "AltBlckQ.h"\r
#include "AltQTest.h"\r
#include "AltPollQ.h"\r
#include "AltBlckQ.h"\r
\r
/* Priority definitions for the tasks in the demo application. */\r
#define mainLED_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )\r
\r
/* Priority definitions for the tasks in the demo application. */\r
#define mainLED_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )\r
vCreateAltBlockTimeTasks();\r
vStartAltBlockingQueueTasks( mainQUEUE_BLOCK_PRIORITY ); \r
vStartAltPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
vCreateAltBlockTimeTasks();\r
vStartAltBlockingQueueTasks( mainQUEUE_BLOCK_PRIORITY ); \r
vStartAltPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
+ vStartRecursiveMutexTasks();\r
\r
/* Create the "Print" task as described at the top of the file. */\r
xTaskCreate( vErrorChecks, "Print", mainPRINT_STACK_SIZE, NULL, mainPRINT_TASK_PRIORITY, NULL );\r
\r
/* Create the "Print" task as described at the top of the file. */\r
xTaskCreate( vErrorChecks, "Print", mainPRINT_STACK_SIZE, NULL, mainPRINT_TASK_PRIORITY, NULL );\r
sErrorHasOccurred = pdTRUE;\r
}\r
\r
sErrorHasOccurred = pdTRUE;\r
}\r
\r
+ if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )\r
+ {\r
+ vDisplayMessage( "Error in recursive mutex tasks!\r\n" );\r
+ sErrorHasOccurred = pdTRUE;\r
+ }\r
+\r
if( sErrorHasOccurred == pdFALSE )\r
{\r
vDisplayMessage( "OK " );\r
if( sErrorHasOccurred == pdFALSE )\r
{\r
vDisplayMessage( "OK " );\r
+28\r
+..\COMMON\MINIMAL\recmutex.c\r
-17\r
-partest\partest.c\r
+17\r
+partest\partest.c\r
226\r
WVList\r
0\r
227\r
WVList\r
0\r
226\r
WVList\r
0\r
227\r
WVList\r
0\r
-31\r
-..\..\SOURCE\INCLUDE\croutine.h\r
1\r
1\r
0\r
232\r
MItem\r
1\r
1\r
0\r
232\r
MItem\r
-27\r
-..\..\source\include\list.h\r
+31\r
+..\..\SOURCE\INCLUDE\croutine.h\r
1\r
1\r
0\r
236\r
MItem\r
1\r
1\r
0\r
236\r
MItem\r
-31\r
-..\..\source\include\portable.h\r
+27\r
+..\..\source\include\list.h\r
1\r
1\r
0\r
240\r
MItem\r
31\r
1\r
1\r
0\r
240\r
MItem\r
31\r
-..\..\source\include\projdefs.h\r
+..\..\source\include\portable.h\r
1\r
1\r
0\r
244\r
MItem\r
1\r
1\r
0\r
244\r
MItem\r
-28\r
-..\..\source\include\queue.h\r
+31\r
+..\..\source\include\projdefs.h\r
1\r
1\r
0\r
248\r
MItem\r
1\r
1\r
0\r
248\r
MItem\r
-29\r
-..\..\source\include\semphr.h\r
+28\r
+..\..\source\include\queue.h\r
1\r
1\r
0\r
252\r
MItem\r
1\r
1\r
0\r
252\r
MItem\r
-27\r
-..\..\source\include\task.h\r
+29\r
+..\..\source\include\semphr.h\r
1\r
1\r
0\r
256\r
MItem\r
1\r
1\r
0\r
256\r
MItem\r
-55\r
-..\..\source\portable\owatcom\16bitdos\common\portasm.h\r
+27\r
+..\..\source\include\task.h\r
1\r
1\r
0\r
260\r
MItem\r
1\r
1\r
0\r
260\r
MItem\r
-53\r
-..\..\source\portable\owatcom\16bitdos\pc\portmacro.h\r
+55\r
+..\..\source\portable\owatcom\16bitdos\common\portasm.h\r
1\r
1\r
0\r
264\r
MItem\r
1\r
1\r
0\r
264\r
MItem\r
-28\r
-..\COMMON\INCLUDE\AltBlckQ.h\r
+53\r
+..\..\source\portable\owatcom\16bitdos\pc\portmacro.h\r
1\r
1\r
0\r
268\r
MItem\r
28\r
1\r
1\r
0\r
268\r
MItem\r
28\r
-..\COMMON\INCLUDE\AltBlock.h\r
+..\COMMON\INCLUDE\AltBlckQ.h\r
1\r
1\r
0\r
272\r
MItem\r
28\r
1\r
1\r
0\r
272\r
MItem\r
28\r
-..\COMMON\INCLUDE\AltPollQ.h\r
+..\COMMON\INCLUDE\AltBlock.h\r
1\r
1\r
0\r
276\r
MItem\r
28\r
1\r
1\r
0\r
276\r
MItem\r
28\r
-..\COMMON\INCLUDE\AltQTest.h\r
+..\COMMON\INCLUDE\AltPollQ.h\r
1\r
1\r
0\r
280\r
MItem\r
1\r
1\r
0\r
280\r
MItem\r
-26\r
-..\common\include\blockq.h\r
+28\r
+..\COMMON\INCLUDE\AltQTest.h\r
1\r
1\r
0\r
284\r
MItem\r
1\r
1\r
0\r
284\r
MItem\r
-28\r
-..\COMMON\INCLUDE\blocktim.h\r
+26\r
+..\common\include\blockq.h\r
1\r
1\r
0\r
288\r
MItem\r
1\r
1\r
0\r
288\r
MItem\r
-27\r
-..\common\include\comtest.h\r
+28\r
+..\COMMON\INCLUDE\blocktim.h\r
1\r
1\r
0\r
292\r
MItem\r
1\r
1\r
0\r
292\r
MItem\r
-28\r
-..\COMMON\INCLUDE\countsem.h\r
+27\r
+..\common\include\comtest.h\r
1\r
1\r
0\r
296\r
MItem\r
1\r
1\r
0\r
296\r
MItem\r
-26\r
-..\COMMON\INCLUDE\crhook.h\r
+28\r
+..\COMMON\INCLUDE\countsem.h\r
1\r
1\r
0\r
300\r
MItem\r
1\r
1\r
0\r
300\r
MItem\r
-25\r
-..\common\include\death.h\r
+26\r
+..\COMMON\INCLUDE\crhook.h\r
1\r
1\r
0\r
304\r
MItem\r
1\r
1\r
0\r
304\r
MItem\r
-27\r
-..\COMMON\INCLUDE\dynamic.h\r
+25\r
+..\common\include\death.h\r
1\r
1\r
0\r
308\r
MItem\r
1\r
1\r
0\r
308\r
MItem\r
-26\r
-..\common\include\fileio.h\r
+27\r
+..\COMMON\INCLUDE\dynamic.h\r
1\r
1\r
0\r
312\r
MItem\r
1\r
1\r
0\r
312\r
MItem\r
-25\r
-..\common\include\flash.h\r
+26\r
+..\common\include\fileio.h\r
1\r
1\r
0\r
316\r
MItem\r
1\r
1\r
0\r
316\r
MItem\r
-24\r
-..\common\include\flop.h\r
+25\r
+..\common\include\flash.h\r
1\r
1\r
0\r
320\r
MItem\r
1\r
1\r
0\r
320\r
MItem\r
-28\r
-..\COMMON\INCLUDE\GenQTest.h\r
+24\r
+..\common\include\flop.h\r
1\r
1\r
0\r
324\r
MItem\r
1\r
1\r
0\r
324\r
MItem\r
-27\r
-..\common\include\partest.h\r
+28\r
+..\COMMON\INCLUDE\GenQTest.h\r
1\r
1\r
0\r
328\r
MItem\r
1\r
1\r
0\r
328\r
MItem\r
-25\r
-..\common\include\pollq.h\r
+27\r
+..\common\include\partest.h\r
1\r
1\r
0\r
332\r
MItem\r
25\r
1\r
1\r
0\r
332\r
MItem\r
25\r
-..\common\include\print.h\r
+..\common\include\pollq.h\r
1\r
1\r
0\r
336\r
MItem\r
1\r
1\r
0\r
336\r
MItem\r
-27\r
-..\common\include\semtest.h\r
+25\r
+..\common\include\print.h\r
1\r
1\r
0\r
340\r
MItem\r
1\r
1\r
0\r
340\r
MItem\r
-26\r
-..\common\include\serial.h\r
+27\r
+..\common\include\semtest.h\r
1\r
1\r
0\r
344\r
MItem\r
1\r
1\r
0\r
344\r
MItem\r
-16\r
-FreeRTOSConfig.h\r
+26\r
+..\common\include\serial.h\r
+228\r
+1\r
+1\r
+0\r
+348\r
+MItem\r
+16\r
+FreeRTOSConfig.h\r
+349\r
+WString\r
+3\r
+NIL\r
+350\r
+WVList\r
+0\r
+351\r
+WVList\r
+0\r
+228\r
WFileName\r
12\r
rtosdemo.tgt\r
WFileName\r
12\r
rtosdemo.tgt\r