Changeset 7f6fab6 in rtems


Ignore:
Timestamp:
Dec 1, 1995, 7:28:52 PM (24 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
a8cd94a
Parents:
eedbfd9
Message:

Made _Event_Sync volatile

Replaced critical section algorithm to correct race conditions.
This resulted in the new variable _Event_Sync_state and the type
_Event_Sync_states.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/rtems/headers/event.h

    reedbfd9 r7f6fab6  
    4242
    4343#define EVENT_CURRENT  0
     44
     45/*
     46 *  The following enumerated types indicate what happened while the event
     47 *  manager was in the synchronization window.
     48 */
     49
     50typedef enum {
     51  EVENT_SYNC_NOTHING_HAPPENED,
     52  EVENT_SYNC_TIMEOUT,
     53  EVENT_SYNC_SATISFIED
     54}  Event_Sync_states;
     55 
    4456
    4557/*
     
    143155
    144156/*
    145  *  The following defines the synchronization flag used by the
     157 *  The following defines the synchronization flags used by the
    146158 *  Event Manager to insure that signals sent to the currently
    147159 *  executing thread are received properly.
    148160 */
    149161
    150 EXTERN boolean _Event_Sync;    /* event manager sync flag */
     162EXTERN volatile boolean _Event_Sync;
     163EXTERN volatile Event_Sync_states _Event_Sync_state;
    151164
    152165#include <rtems/rtems/eventmp.h>
  • c/src/exec/rtems/include/rtems/rtems/event.h

    reedbfd9 r7f6fab6  
    4242
    4343#define EVENT_CURRENT  0
     44
     45/*
     46 *  The following enumerated types indicate what happened while the event
     47 *  manager was in the synchronization window.
     48 */
     49
     50typedef enum {
     51  EVENT_SYNC_NOTHING_HAPPENED,
     52  EVENT_SYNC_TIMEOUT,
     53  EVENT_SYNC_SATISFIED
     54}  Event_Sync_states;
     55 
    4456
    4557/*
     
    143155
    144156/*
    145  *  The following defines the synchronization flag used by the
     157 *  The following defines the synchronization flags used by the
    146158 *  Event Manager to insure that signals sent to the currently
    147159 *  executing thread are received properly.
    148160 */
    149161
    150 EXTERN boolean _Event_Sync;    /* event manager sync flag */
     162EXTERN volatile boolean _Event_Sync;
     163EXTERN volatile Event_Sync_states _Event_Sync_state;
    151164
    152165#include <rtems/rtems/eventmp.h>
  • cpukit/rtems/include/rtems/rtems/event.h

    reedbfd9 r7f6fab6  
    4242
    4343#define EVENT_CURRENT  0
     44
     45/*
     46 *  The following enumerated types indicate what happened while the event
     47 *  manager was in the synchronization window.
     48 */
     49
     50typedef enum {
     51  EVENT_SYNC_NOTHING_HAPPENED,
     52  EVENT_SYNC_TIMEOUT,
     53  EVENT_SYNC_SATISFIED
     54}  Event_Sync_states;
     55 
    4456
    4557/*
     
    143155
    144156/*
    145  *  The following defines the synchronization flag used by the
     157 *  The following defines the synchronization flags used by the
    146158 *  Event Manager to insure that signals sent to the currently
    147159 *  executing thread are received properly.
    148160 */
    149161
    150 EXTERN boolean _Event_Sync;    /* event manager sync flag */
     162EXTERN volatile boolean _Event_Sync;
     163EXTERN volatile Event_Sync_states _Event_Sync_state;
    151164
    152165#include <rtems/rtems/eventmp.h>
Note: See TracChangeset for help on using the changeset viewer.