source: rtems/cpukit/itron/src/frsm_tsk.c @ 4efe2b7a

4.104.114.84.95
Last change on this file since 4efe2b7a was 4efe2b7a, checked in by Jennifer Averett <Jennifer.Averett@…>, on 11/16/99 at 22:47:23

Added check to return passed if task is not suspended.

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/*
2 *  The license and distribution terms for this file may be
3 *  found in the file LICENSE in this distribution or at
4 *  http://www.OARcorp.com/rtems/license.html.
5 *
6 *  $Id$
7 */
8
9#include <itron.h>
10
11#include <rtems/score/thread.h>
12#include <rtems/score/userext.h>
13#include <rtems/score/wkspace.h>
14#include <rtems/score/apiext.h>
15#include <rtems/score/sysstate.h>
16
17#include <rtems/itron/task.h>
18
19
20/*
21 *  frsm_tsk - Forcibly Resume Suspended Task
22 */
23
24ER frsm_tsk(
25  ID tskid
26)
27{
28  register Thread_Control *the_thread;
29  Objects_Locations        location;
30
31  the_thread = _ITRON_Task_Get( tskid, &location );
32  switch ( location ) {
33    case OBJECTS_REMOTE:
34    case OBJECTS_ERROR:
35      return _ITRON_Task_Clarify_get_id_error( tskid );
36
37    case OBJECTS_LOCAL:
38      if ( _Thread_Is_executing( the_thread ) )
39        _ITRON_return_errorno( E_OBJ );
40
41      if (_States_Is_dormant( the_thread->current_state ))
42        _ITRON_return_errorno( E_OBJ );
43   
44      if ( ! _States_Is_suspended(the_thread->current_state) )
45        _ITRON_return_errorno( E_OK );
46
47      _Thread_Resume( the_thread, TRUE );
48      break;
49  }
50
51 _ITRON_return_errorno( E_OK );
52
53}
54
55
Note: See TracBrowser for help on using the repository browser.