sensors list can be modified in a future release, protect it from concurent modification
[psensor.git] / src / main.c
index fd1d44b..3c79195 100644 (file)
@@ -137,16 +137,19 @@ update_psensor_values_size(struct psensor **sensors, struct config *cfg)
 
 void update_psensor_measures(struct ui_psensor *ui)
 {
-       struct psensor **sensors = ui->sensors;
-       struct config *cfg = ui->config;
+       struct psensor **sensors;
+       struct config *cfg;
+
+       cfg = ui->config;
 
        while (1) {
                g_mutex_lock(ui->sensors_mutex);
 
+               sensors = ui->sensors;
                if (!sensors)
                        return;
 
-               update_psensor_values_size(sensors, ui->config);
+               update_psensor_values_size(sensors, cfg);
 
                psensor_list_update_measures(sensors);
 #ifdef HAVE_REMOTE_SUPPORT