summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/librtems++/ChangeLog5
-rw-r--r--c/src/librtems++/include/rtems++/rtemsEvent.h2
-rw-r--r--c/src/librtems++/include/rtems++/rtemsMessageQueue.h2
3 files changed, 7 insertions, 2 deletions
diff --git a/c/src/librtems++/ChangeLog b/c/src/librtems++/ChangeLog
index f282b75271..41796ffd1c 100644
--- a/c/src/librtems++/ChangeLog
+++ b/c/src/librtems++/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * include/rtems++/rtemsEvent.h, include/rtems++/rtemsMessageQueue.h:
+ Fixed timeout calculation.
+
2009-11-23 Ralf Corsépius <ralf.corsepius@rtems.org>
* src/rtemsInterrupt.cc: #include <cstdlib>.
diff --git a/c/src/librtems++/include/rtems++/rtemsEvent.h b/c/src/librtems++/include/rtems++/rtemsEvent.h
index c35997e596..cba99f11df 100644
--- a/c/src/librtems++/include/rtems++/rtemsEvent.h
+++ b/c/src/librtems++/include/rtems++/rtemsEvent.h
@@ -109,7 +109,7 @@ const rtems_status_code rtemsEvent::receive(const rtems_event_set event_in,
const WaitMode wait,
const Condition condition)
{
- rtems_interval usecs =
+ rtems_interval usecs = micro_secs &&
(micro_secs < rtems_configuration_get_microseconds_per_tick()) ?
rtems_configuration_get_microseconds_per_tick() : micro_secs;
set_status_code(rtems_event_receive(event_in,
diff --git a/c/src/librtems++/include/rtems++/rtemsMessageQueue.h b/c/src/librtems++/include/rtems++/rtemsMessageQueue.h
index a93c51fc65..97dc22c3b2 100644
--- a/c/src/librtems++/include/rtems++/rtemsMessageQueue.h
+++ b/c/src/librtems++/include/rtems++/rtemsMessageQueue.h
@@ -154,7 +154,7 @@ const rtems_status_code rtemsMessageQueue::receive(const void *buffer,
rtems_interval micro_secs,
bool wait)
{
- rtems_interval usecs =
+ rtems_interval usecs = micro_secs &&
(micro_secs < rtems_configuration_get_microseconds_per_tick()) ?
rtems_configuration_get_microseconds_per_tick() : micro_secs;
return set_status_code(rtems_message_queue_receive(id,