Original project changes: Location: fix concurrency between park position update & check
This commit is contained in:
parent
dec6c220d5
commit
894a063083
|
@ -752,6 +752,8 @@ void OvmsLocations::UpdatedVehicleOn(OvmsMetric* metric)
|
|||
|
||||
void OvmsLocations::UpdateParkPosition()
|
||||
{
|
||||
OvmsRecMutexLock lock(&m_park_lock);
|
||||
|
||||
bool caron = StdMetrics.ms_v_env_on->AsBool();
|
||||
if (caron)
|
||||
{
|
||||
|
@ -843,6 +845,8 @@ void OvmsLocations::CheckTheft()
|
|||
{
|
||||
static int last_dist = 0;
|
||||
|
||||
OvmsRecMutexLock lock(&m_park_lock);
|
||||
|
||||
if ((m_park_latitude == 0) && (m_park_longitude == 0)) return;
|
||||
if (StandardMetrics.ms_v_env_on->AsBool()) return;
|
||||
|
||||
|
|
|
@ -104,6 +104,7 @@ class OvmsLocations
|
|||
float m_park_longitude;
|
||||
float m_park_distance;
|
||||
bool m_park_invalid;
|
||||
OvmsRecMutex m_park_lock;
|
||||
uint32_t m_last_alarm;
|
||||
LocationMap m_locations;
|
||||
|
||||
|
|
Loading…
Reference in New Issue