diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-14 22:18:44 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-14 22:18:44 +0200 |
commit | c6b58491bbd7390650723c65b4d4e9ec0922c8de (patch) | |
tree | 6abde36292cb498f2f6e1f744bf36d3e42685196 /src/drivers/rgbled/rgbled.cpp | |
parent | 16efc0d2d9437c44142503265553e8413f3f9cb3 (diff) | |
download | px4-firmware-c6b58491bbd7390650723c65b4d4e9ec0922c8de.tar.gz px4-firmware-c6b58491bbd7390650723c65b4d4e9ec0922c8de.tar.bz2 px4-firmware-c6b58491bbd7390650723c65b4d4e9ec0922c8de.zip |
Work queue in RGB driver without work_cancel()
Diffstat (limited to 'src/drivers/rgbled/rgbled.cpp')
-rw-r--r-- | src/drivers/rgbled/rgbled.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/drivers/rgbled/rgbled.cpp b/src/drivers/rgbled/rgbled.cpp index fedff769b..aeb7e2f78 100644 --- a/src/drivers/rgbled/rgbled.cpp +++ b/src/drivers/rgbled/rgbled.cpp @@ -248,6 +248,11 @@ RGBLED::led_trampoline(void *arg) void RGBLED::led() { + if (!_should_run) { + _running = false; + return; + } + switch (_mode) { case RGBLED_MODE_BLINK_SLOW: case RGBLED_MODE_BLINK_NORMAL: @@ -471,11 +476,6 @@ RGBLED::set_mode(rgbled_mode_t mode) work_queue(LPWORK, &_work, (worker_t)&RGBLED::led_trampoline, this, 1); } - /* if it should stop, then cancel the workq */ - if (!should_run && _running) { - _running = false; - work_cancel(LPWORK, &_work); - } } } |