diff options
author | inmarket <andrewh@inmarket.com.au> | 2014-03-11 17:10:11 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2014-03-11 17:10:11 +1000 |
commit | a29501c7bda2212417e1df4b255690bd7fb61ad2 (patch) | |
tree | 1ea78734b0beb6f97b78e2e38443ee1bbe125e45 /src/gos/chibios.c | |
parent | c70d98ef59bddda73cd4d97142a98f1513d11947 (diff) | |
download | uGFX-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.c | 7 |
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(); |