linux使用mosquitto 客戶端死鎖

客戶端使用mosquitto的問題:

發現在linux中使用,不能在disconnect的回調函數中去調用mosquitto_reconnectmosquitto_connect等函數,會造成pthread_mutex_lock(&mosq->current_out_packet_mutex)死鎖。

但是在QNX卻不會死鎖,可以正常reconnect

void my_disconnect_callback(struct mosquitto *mosq, void *obj, int result)
{
        run = false;
        printf("on disconnect%d\n",result);

       //在linux上這樣會死鎖,使用gdb可調試到是pthread_mutex_lock(&mosq->current_out_packet_mutex)死鎖
        mosquitto_connect(mosqqq, HOST, PORT, 6);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章