如何删除先前添加的SD总线匹配

如何删除先前添加的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()调用。