source: rtems/cpukit/score/include/rtems/score/threadsync.h @ 3168deaa

4.104.114.95
Last change on this file since 3168deaa was 3168deaa, checked in by Joel Sherrill <joel.sherrill@…>, on 01/22/08 at 18:28:53

2008-01-22 Joel Sherrill <joel.sherrill@…>

  • rtems/include/rtems/rtems/event.h, rtems/inline/rtems/rtems/eventset.inl, rtems/src/event.c, rtems/src/eventseize.c, rtems/src/eventsurrender.c, rtems/src/eventtimeout.c, score/Makefile.am, score/preinstall.am, score/include/rtems/score/interr.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadq.h, score/include/rtems/score/tqdata.h, score/inline/rtems/score/threadq.inl, score/inline/rtems/score/tqdata.inl, score/src/threadq.c, score/src/threadqdequeue.c, score/src/threadqdequeuefifo.c, score/src/threadqdequeuepriority.c, score/src/threadqenqueue.c, score/src/threadqenqueuefifo.c, score/src/threadqenqueuepriority.c, score/src/threadqextract.c, score/src/threadqextractfifo.c, score/src/threadqextractpriority.c, score/src/threadqextractwithproxy.c, score/src/threadqfirst.c, score/src/threadqfirstfifo.c, score/src/threadqfirstpriority.c, score/src/threadqflush.c, score/src/threadqrequeue.c, score/src/threadqtimeout.c: Refactor thread queue enqueue and event blocking synchronization critical sections. This resulted in three copies of essentially the same hard to test critical section code becoming the one shared routine _Thread_blocking_operation_Cancel. In addition, the thread queue and event code now share a common synchronization enumerated type. Along the way, switches were reworked to eliminate dead code generated by gcc and comments and copyrights were updated.
  • score/include/rtems/score/threadsync.h, score/src/threadblockingoperationcancel.c: New files.
  • Property mode set to 100644
File size: 1.3 KB
Line 
1/**
2 *  @file  rtems/score/threadsync.h
3 *
4 *  This include file contains all constants and structures associated
5 *  with synchronizing a thread blocking operation with potential
6 *  actions in an ISR.
7 */
8
9/*
10 *  COPYRIGHT (c) 1989-2008.
11 *  On-Line Applications Research Corporation (OAR).
12 *
13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
15 *  http://www.rtems.com/license/LICENSE.
16 *
17 *  $Id$
18 */
19
20#ifndef _RTEMS_SCORE_THREAD_SYNC_H
21#define _RTEMS_SCORE_THREAD_SYNC_H
22
23/**
24 *  @defgroup ScoreThread Thread Blocking Operation Synchronization Handler
25 *
26 *  This handler encapsulates functionality related to the management of
27 *  synchronization critical sections during blocking operations.
28 */
29/**@{*/
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35/**
36 *  The following enumerated types indicate what happened while the thread
37 *  blocking was in the synchronization window.
38 */
39typedef enum {
40  THREAD_BLOCKING_OPERATION_SYNCHRONIZED,
41  THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED,
42  THREAD_BLOCKING_OPERATION_TIMEOUT,
43  THREAD_BLOCKING_OPERATION_SATISFIED
44}  Thread_blocking_operation_States;
45
46/*
47 *  Operations require a thread pointer so they are prototyped
48 *  in thread.h
49 */
50
51#ifdef __cplusplus
52}
53#endif
54
55/**@}*/
56
57#endif
58/* end of include file */
Note: See TracBrowser for help on using the repository browser.