source: rtems/c/src/exec/itron/src/sus_tsk.c @ aaf6063

4.104.114.84.95
Last change on this file since aaf6063 was f42b726, checked in by Joel Sherrill <joel.sherrill@…>, on 01/24/01 at 14:17:28

2001-01-24 Ralf Corsepius <corsepiu@…>

  • configure.in: Add src/config.h
  • src/Makefile.am: Add INCLUDES += -I. to pickup config.h
  • src/.cvsignore: Add config.h and stamp-h
  • src/*.c: Add config.h support.
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 *  COPYRIGHT (c) 1989-1999.
3 *  On-Line Applications Research Corporation (OAR).
4 *
5 *  The license and distribution terms for this file may be
6 *  found in the file LICENSE in this distribution or at
7 *  http://www.OARcorp.com/rtems/license.html.
8 *
9 *  $Id$
10 */
11
12#if HAVE_CONFIG_H
13#include "config.h"
14#endif
15
16#include <limits.h>
17#include <itron.h>
18
19#include <rtems/score/thread.h>
20#include <rtems/score/userext.h>
21#include <rtems/score/wkspace.h>
22#include <rtems/score/apiext.h>
23#include <rtems/score/sysstate.h>
24
25#include <rtems/itron/task.h>
26
27
28/*
29 *  Task-Dependent Synchronization Functions
30 */
31
32/*
33 *  sus_tsk - Suspend Other Task
34 */
35
36ER sus_tsk(
37  ID tskid
38)
39{
40  register Thread_Control *the_thread;
41  Objects_Locations        location;
42
43  the_thread = _ITRON_Task_Get( tskid, &location );
44  switch ( location ) {
45    case OBJECTS_REMOTE:
46    case OBJECTS_ERROR:
47      return _ITRON_Task_Clarify_get_id_error( tskid );
48
49    case OBJECTS_LOCAL:
50
51      if ( _Thread_Is_executing( the_thread ) )
52        _ITRON_return_errorno( E_OBJ );
53
54      if (the_thread->suspend_count == INT_MAX )
55        _ITRON_return_errorno( E_QOVR );
56
57      _Thread_Suspend( the_thread );
58      break;
59  }
60
61  _ITRON_return_errorno( E_OK );
62}
63
64
65
66
67
68
69
Note: See TracBrowser for help on using the repository browser.