aboutsummaryrefslogtreecommitdiffstats
path: root/src/gos/chibios.c
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2014-03-11 17:10:11 +1000
committerinmarket <andrewh@inmarket.com.au>2014-03-11 17:10:11 +1000
commita29501c7bda2212417e1df4b255690bd7fb61ad2 (patch)
tree1ea78734b0beb6f97b78e2e38443ee1bbe125e45 /src/gos/chibios.c
parentc70d98ef59bddda73cd4d97142a98f1513d11947 (diff)
downloaduGFX-a29501c7bda2212417e1df4b255690bd7fb61ad2.tar.gz
uGFX-a29501c7bda2212417e1df4b255690bd7fb61ad2.tar.bz2
uGFX-a29501c7bda2212417e1df4b255690bd7fb61ad2.zip
Add support for gfxSemWaitI() GOS api.
Diffstat (limited to 'src/gos/chibios.c')
-rw-r--r--src/gos/chibios.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gos/chibios.c b/src/gos/chibios.c
index cf02b3e2..7d64fe1c 100644
--- a/src/gos/chibios.c
+++ b/src/gos/chibios.c
@@ -89,6 +89,13 @@ bool_t gfxSemWait(gfxSem *psem, delaytime_t ms) {
return chSemWaitTimeout(&psem->sem, MS2ST(ms)) != RDY_TIMEOUT;
}
+bool_t gfxSemWaitI(gfxSem *psem) {
+ if (chSemGetCounterI(&psem->sem) <= 0)
+ return FALSE;
+ chSemFastWaitI(&psem->sem);
+ return TRUE;
+}
+
void gfxSemSignal(gfxSem *psem) {
chSysLock();