summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-11-11 10:47:52 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-11-12 08:21:44 +0100
commit4fee1296e96a8c48c29bb6c9340336c67862ed98 (patch)
tree27df265bb07e717703cd99581df3c4d5276d069c
parentgpio: free memory in error path (diff)
downloadrtems-4fee1296e96a8c48c29bb6c9340336c67862ed98.tar.bz2
Introduce general purpose system server event
Use this event for the interrupt server to avoid conflicts with application events used by interrupt handlers.
-rw-r--r--c/src/lib/libbsp/shared/src/irq-server.c8
-rw-r--r--cpukit/rtems/include/rtems/rtems/event.h5
-rw-r--r--cpukit/rtems/src/timerserver.c4
3 files changed, 8 insertions, 9 deletions
diff --git a/c/src/lib/libbsp/shared/src/irq-server.c b/c/src/lib/libbsp/shared/src/irq-server.c
index 5e5dbf1a9d..3537493ac0 100644
--- a/c/src/lib/libbsp/shared/src/irq-server.c
+++ b/c/src/lib/libbsp/shared/src/irq-server.c
@@ -27,8 +27,6 @@
#include <bsp/irq-generic.h>
-#define BSP_INTERRUPT_EVENT RTEMS_EVENT_13
-
RTEMS_INTERRUPT_LOCK_DEFINE(
static,
bsp_interrupt_server_lock,
@@ -73,7 +71,7 @@ static void bsp_interrupt_server_trigger(void *arg)
++bsp_interrupt_server_errors;
}
- rtems_event_send(bsp_interrupt_server_id, BSP_INTERRUPT_EVENT);
+ rtems_event_system_send(bsp_interrupt_server_id, RTEMS_EVENT_SYSTEM_SERVER);
}
static bsp_interrupt_server_entry *bsp_interrupt_server_get_entry(void)
@@ -106,8 +104,8 @@ static void bsp_interrupt_server_task(rtems_task_argument arg)
rtems_event_set events = 0;
bsp_interrupt_server_entry *e = NULL;
- sc = rtems_event_receive(
- BSP_INTERRUPT_EVENT,
+ sc = rtems_event_system_receive(
+ RTEMS_EVENT_SYSTEM_SERVER,
RTEMS_EVENT_ALL | RTEMS_WAIT,
RTEMS_NO_TIMEOUT,
&events
diff --git a/cpukit/rtems/include/rtems/rtems/event.h b/cpukit/rtems/include/rtems/rtems/event.h
index 012452a9d8..4263a4b881 100644
--- a/cpukit/rtems/include/rtems/rtems/event.h
+++ b/cpukit/rtems/include/rtems/rtems/event.h
@@ -319,9 +319,10 @@ rtems_status_code rtems_event_receive (
#define RTEMS_EVENT_SYSTEM_NETWORK_CLOSE RTEMS_EVENT_26
/**
- * @brief Reserved system event for the timer server.
+ * @brief Reserved system event for the server threads, e.g timer or interrupt
+ * server.
*/
-#define RTEMS_EVENT_SYSTEM_TIMER_SERVER RTEMS_EVENT_30
+#define RTEMS_EVENT_SYSTEM_SERVER RTEMS_EVENT_30
/**
* @brief Reserved system event for transient usage.
diff --git a/cpukit/rtems/src/timerserver.c b/cpukit/rtems/src/timerserver.c
index 29e7bc4f36..7d757809b8 100644
--- a/cpukit/rtems/src/timerserver.c
+++ b/cpukit/rtems/src/timerserver.c
@@ -256,7 +256,7 @@ static rtems_task _Timer_server_Body(
);
(void) rtems_event_system_receive(
- RTEMS_EVENT_SYSTEM_TIMER_SERVER,
+ RTEMS_EVENT_SYSTEM_SERVER,
RTEMS_EVENT_ALL | RTEMS_WAIT,
RTEMS_NO_TIMEOUT,
&events
@@ -281,7 +281,7 @@ static void _Timer_server_Wakeup(
_Timer_server_Get_seconds
);
- (void) rtems_event_system_send( id, RTEMS_EVENT_SYSTEM_TIMER_SERVER );
+ (void) rtems_event_system_send( id, RTEMS_EVENT_SYSTEM_SERVER );
}
static void _Timer_server_Initialize_watchdogs(