aboutsummaryrefslogtreecommitdiffstats
path: root/os/kernel/src/chqueues.c
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-06-24 14:19:52 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-06-24 14:19:52 +0000
commit62f4b7f471a4b1037468d382f927c5061e5fa9ed (patch)
tree8eae286504b7c9433d7e5a552012ff7e6fe12e95 /os/kernel/src/chqueues.c
parent28437e3058e78509ac7f692b80cf8ffd04db1a9b (diff)
downloadChibiOS-62f4b7f471a4b1037468d382f927c5061e5fa9ed.tar.gz
ChibiOS-62f4b7f471a4b1037468d382f927c5061e5fa9ed.tar.bz2
ChibiOS-62f4b7f471a4b1037468d382f927c5061e5fa9ed.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2036 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/kernel/src/chqueues.c')
-rw-r--r--os/kernel/src/chqueues.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/os/kernel/src/chqueues.c b/os/kernel/src/chqueues.c
index 84cbbed94..d1aa03cc6 100644
--- a/os/kernel/src/chqueues.c
+++ b/os/kernel/src/chqueues.c
@@ -126,6 +126,10 @@ msg_t chIQGetTimeout(InputQueue *iqp, systime_t time) {
msg_t msg;
chSysLock();
+
+ if (iqp->q_notify)
+ iqp->q_notify();
+
if ((msg = chSemWaitTimeoutS(&iqp->q_sem, time)) < RDY_OK) {
chSysUnlock();
return msg;
@@ -134,9 +138,6 @@ msg_t chIQGetTimeout(InputQueue *iqp, systime_t time) {
if (iqp->q_rdptr >= iqp->q_top)
iqp->q_rdptr = iqp->q_buffer;
- if (iqp->q_notify)
- iqp->q_notify();
-
chSysUnlock();
return b;
}