sem_post函数无法唤醒sem_wait

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
/**************  POST  线程*******************/
       if(result->retRoi[0]) {                                                                                                                                                            
                printf("检测到运动\n");
                if(lcd_flag == 0){
                       lcd_flag = 1;
               }
               if(faceDec_flag == 0) {
                       printf("facedet POST\n");
                       sem_post(&facedet_sem);
               }
         }

/***************** WAIT 线程*********************/
                printf("faceDec_flag = %d\n",faceDec_flag);
                if (faceDec_flag == 0) {                                                                                                                                                       
                        sem_wait(&facedet_sem);
                        faceDec_flag = 1;
                }   


运行结果及报错内容

post一段时间才唤醒
检测到运动
facedet POST
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
movedec_flag = 1
movedec_flag = 1
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
movedec_flag = 1
movedec_flag = 1
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
movedec_flag = 1
movedec_flag = 1
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
检测到运动
facedet POST
movedec_flag = 1
检测到运动
facedet POST
/********* 唤醒 ***********/
检测到运动
movedec_flag = 1
faceDec_flag = 1
检测到运动
movedec_flag = 1
检测到运动
movedec_flag = 1
faceDec_flag = 1
检测到运动

我的解答思路和尝试过的方法
我想要达到的结果

想知道可能是什么原因,如何解决

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。