取消合包亮灯时的文件锁

This commit is contained in:
zzh 2026-01-23 14:55:07 +08:00
parent 54e049c555
commit 3db367cef2

8
main.c
View File

@ -2399,7 +2399,7 @@ void *thread_mqtt_recv(void *arg){
DEBUG_TX("flashInterval:%s\n",mqtt_parm.msg_flashInterval); DEBUG_TX("flashInterval:%s\n",mqtt_parm.msg_flashInterval);
get_string_from_json_string_by_key_unescape(msg_data, "lightDuration", mqtt_parm.msg_lightDuration, sizeof(mqtt_parm.msg_lightDuration)); get_string_from_json_string_by_key_unescape(msg_data, "lightDuration", mqtt_parm.msg_lightDuration, sizeof(mqtt_parm.msg_lightDuration));
DEBUG_TX("lightDuration:%s\n",mqtt_parm.msg_lightDuration); DEBUG_TX("lightDuration:%s\n",mqtt_parm.msg_lightDuration);
pthread_mutex_lock(&lightsn_buffer_mutex); //pthread_mutex_lock(&lightsn_buffer_mutex);
if (!is_3015_collecting) { if (!is_3015_collecting) {
is_3015_collecting = true; is_3015_collecting = true;
first_3015_time = time(NULL); first_3015_time = time(NULL);
@ -2426,7 +2426,7 @@ void *thread_mqtt_recv(void *arg){
LOG_I("buffered sn: %s, color: %s, sound: %s, flash: %s\n", lightsn_buffer[lightsn_buffer_count], color_buffer[lightsn_buffer_count], sound_buffer[lightsn_buffer_count], flash_buffer[lightsn_buffer_count]); LOG_I("buffered sn: %s, color: %s, sound: %s, flash: %s\n", lightsn_buffer[lightsn_buffer_count], color_buffer[lightsn_buffer_count], sound_buffer[lightsn_buffer_count], flash_buffer[lightsn_buffer_count]);
lightsn_buffer_count++; lightsn_buffer_count++;
} }
pthread_mutex_unlock(&lightsn_buffer_mutex); //pthread_mutex_unlock(&lightsn_buffer_mutex);
mqtt_service_reply(stationsn, mqtt_parm.msg_messageId, "ok", 1, productid); mqtt_service_reply(stationsn, mqtt_parm.msg_messageId, "ok", 1, productid);
}else if(strcmp(mqtt_parm.msg_type,"3022")==0){ }else if(strcmp(mqtt_parm.msg_type,"3022")==0){
LOG_I("3022 updata lable\n"); LOG_I("3022 updata lable\n");
@ -3213,7 +3213,7 @@ void *thread_3015_lighton_merge(void *arg) {
int total_all = 0; int total_all = 0;
while (1) { while (1) {
pthread_mutex_lock(&lightsn_buffer_mutex); //pthread_mutex_lock(&lightsn_buffer_mutex);
if (is_3015_collecting) { if (is_3015_collecting) {
time_t now = time(NULL); time_t now = time(NULL);
if ((now - first_3015_time >= 3) || (lightsn_buffer_count >= MAX_LIGHTSN_BUFFER)) { if ((now - first_3015_time >= 3) || (lightsn_buffer_count >= MAX_LIGHTSN_BUFFER)) {
@ -3307,7 +3307,7 @@ void *thread_3015_lighton_merge(void *arg) {
isLightOn = false; isLightOn = false;
} }
} }
pthread_mutex_unlock(&lightsn_buffer_mutex); //pthread_mutex_unlock(&lightsn_buffer_mutex);
usleep(100*1000); usleep(100*1000);
} }
return NULL; return NULL;