1
我已經創建SDL總線,然後通過使用sd_bus_add_match()
指定匹配並從sd-bus
獲取信號來註冊信號。現在我想知道如何停止獲取特定匹配的事件,而不需要調用sd_bus_close()
。如何刪除先前添加的SD總線匹配
我已經創建SDL總線,然後通過使用sd_bus_add_match()
指定匹配並從sd-bus
獲取信號來註冊信號。現在我想知道如何停止獲取特定匹配的事件,而不需要調用sd_bus_close()
。如何刪除先前添加的SD總線匹配
據我所知,閱讀源代碼,似乎你必須通過sd_bus_slot **到sd_bus_add_match;它將爲您創建一個類型爲BUS_MATCH_CALLBACK的類。
一旦你完成了,只是反對你的sd_bus_slot,它會照顧摧毀匹配和釋放所有資源。請參見:https://github.com/systemd/systemd/blob/a7753693547233e4a1d6e10b1a8f6515a477f227/src/libsystemd/sd-bus/bus-slot.c#L68(請注意,bus_slot_disconnect由sd_bus_slot_unref()調用。