mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-01 09:24:10 +01:00
AndroidGCS TelemetryTask: Make sure the telemetry task shuts down the reading thread on disconnect
This commit is contained in:
parent
846f488eb1
commit
ee97390ade
@ -68,6 +68,9 @@ public abstract class TelemetryTask implements Runnable {
|
|||||||
//! The telemetry monitor which takes care of high level connects / disconnects
|
//! The telemetry monitor which takes care of high level connects / disconnects
|
||||||
private TelemetryMonitor mon;
|
private TelemetryMonitor mon;
|
||||||
|
|
||||||
|
//! Thread to process the input stream
|
||||||
|
Thread inputProcessThread;
|
||||||
|
|
||||||
//! Flag to indicate a shut down was requested. Derived classes should take care to respect this.
|
//! Flag to indicate a shut down was requested. Derived classes should take care to respect this.
|
||||||
boolean shutdown;
|
boolean shutdown;
|
||||||
|
|
||||||
@ -146,6 +149,14 @@ public abstract class TelemetryTask implements Runnable {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (inputProcessThread != null) {
|
||||||
|
inputProcessThread.interrupt();
|
||||||
|
try {
|
||||||
|
inputProcessThread.join();
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: Make sure the input and output stream is closed
|
// TODO: Make sure the input and output stream is closed
|
||||||
|
|
||||||
// TODO: Make sure any threads for input and output are closed
|
// TODO: Make sure any threads for input and output are closed
|
||||||
@ -157,7 +168,8 @@ public abstract class TelemetryTask implements Runnable {
|
|||||||
* to read from the input stream.
|
* to read from the input stream.
|
||||||
*/
|
*/
|
||||||
private void startInputProcessing() {
|
private void startInputProcessing() {
|
||||||
new Thread(new processUavTalk(), "Process UAV talk").start();
|
inputProcessThread = new Thread(new processUavTalk(), "Process UAV talk");
|
||||||
|
inputProcessThread.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Runnable to process input stream
|
//! Runnable to process input stream
|
||||||
|
Loading…
Reference in New Issue
Block a user