4.104.114.84.95
Last change
on this file since e672263 was
06380cfe,
checked in by Jennifer Averett <Jennifer.Averett@…>, on 11/15/99 at 21:25:53
|
+ Added check that a task could be sent to a dormant state
then sta_tsk used to restart the task to its initial state.
+ Added calls to ref_tsk to yellow paths for suspended and
ready but not running tasks.
+ Fixed output file to correctly state test name
+ Added priority of preempt to the header file. Allows ref_tsk verification.
|
-
Property mode set to
100644
|
File size:
1.4 KB
|
Line | |
---|
1 | /* Preempt_task |
---|
2 | * |
---|
3 | * This routine serves as a test task. It verifies the task manager. |
---|
4 | * |
---|
5 | * Input parameters: |
---|
6 | * argument - task argument |
---|
7 | * |
---|
8 | * Output parameters: NONE |
---|
9 | * |
---|
10 | * COPYRIGHT (c) 1989-1998. |
---|
11 | * On-Line Applications Research Corporation (OAR). |
---|
12 | * Copyright assigned to U.S. Government, 1994. |
---|
13 | * |
---|
14 | * The license and distribution terms for this file may be |
---|
15 | * found in the file LICENSE in this distribution or at |
---|
16 | * http://www.OARcorp.com/rtems/license.html. |
---|
17 | * |
---|
18 | * $Id$ |
---|
19 | */ |
---|
20 | |
---|
21 | #include <assert.h> |
---|
22 | #include "system.h" |
---|
23 | |
---|
24 | int Preempt_task_Count; |
---|
25 | |
---|
26 | void Preempt_task() |
---|
27 | { |
---|
28 | ER status; |
---|
29 | T_RTSK pk_rtsk; |
---|
30 | |
---|
31 | puts( "PREEMPT - ref_tsk validation" ); |
---|
32 | status = ref_tsk( &pk_rtsk, PREEMPT_TASK_ID ); |
---|
33 | assert( status == E_OK ); |
---|
34 | assert( pk_rtsk.tskpri == PREEMPT_PRIORITY ); |
---|
35 | assert( pk_rtsk.itskpri == PREEMPT_PRIORITY ); |
---|
36 | assert( pk_rtsk.task == Preempt_task ); |
---|
37 | assert( pk_rtsk.stksz >= RTEMS_MINIMUM_STACK_SIZE ); |
---|
38 | assert( pk_rtsk.tskstat == (TTS_RUN | TTS_RDY) ); |
---|
39 | |
---|
40 | if ( Preempt_task_Count == 0 ) { |
---|
41 | Preempt_task_Count ++; |
---|
42 | puts( "PREEMPT - chg_pri increment priority "); |
---|
43 | status = chg_pri( PREEMPT_TASK_ID, (PREEMPT_PRIORITY+1) ); |
---|
44 | directive_failed( status, "chg_pri" ); |
---|
45 | puts( "PREEMPT - ext_tsk - going to DORMANT state" ); |
---|
46 | ext_tsk( ); |
---|
47 | assert( 0 ); |
---|
48 | } else { |
---|
49 | Preempt_task_Count ++; |
---|
50 | puts( "PREEMPT - exd_tsk - Exit and Delete task" ); |
---|
51 | exd_tsk( ); |
---|
52 | assert( 0 ); |
---|
53 | } |
---|
54 | } |
---|
55 | |
---|
Note: See
TracBrowser
for help on using the repository browser.