summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/include/rtems')
-rw-r--r--cpukit/rtems/include/rtems/rtems/event.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/event.h b/cpukit/rtems/include/rtems/rtems/event.h
index 02cd5ea0c2..1272af576b 100644
--- a/cpukit/rtems/include/rtems/rtems/event.h
+++ b/cpukit/rtems/include/rtems/rtems/event.h
@@ -43,6 +43,18 @@ extern "C" {
#define EVENT_CURRENT 0
/*
+ * The following enumerated types indicate what happened while the event
+ * manager was in the synchronization window.
+ */
+
+typedef enum {
+ EVENT_SYNC_NOTHING_HAPPENED,
+ EVENT_SYNC_TIMEOUT,
+ EVENT_SYNC_SATISFIED
+} Event_Sync_states;
+
+
+/*
* _Event_Manager_initialization
*
* DESCRIPTION:
@@ -142,12 +154,13 @@ void _Event_Timeout (
);
/*
- * The following defines the synchronization flag used by the
+ * The following defines the synchronization flags used by the
* Event Manager to insure that signals sent to the currently
* executing thread are received properly.
*/
-EXTERN boolean _Event_Sync; /* event manager sync flag */
+EXTERN volatile boolean _Event_Sync;
+EXTERN volatile Event_Sync_states _Event_Sync_state;
#include <rtems/rtems/eventmp.h>
#include <rtems/rtems/event.inl>