如果不拥有总线名称,类型= dbus的系统服务是否超时?

时间:2018-09-13 17:00:39

标签: systemd dbus gdbus

经过几天的努力,我意识到在main()内部循环等待的程序将在大约15秒后超时。我设法通过创建任务来使其工作:

owner_id = g_bus_own_name (G_BUS_TYPE_SYSTEM,
                           "test.mybus",
                           G_BUS_NAME_OWNER_FLAGS_REPLACE,
                           on_bus_acquired,
                           on_name_acquired,
                           on_name_lost,
                           NULL,
                           NULL);

loop = g_main_loop_new (NULL, FALSE);

g_main_loop_run (loop);

我的服务文件(bustest.service)如下:

[Unit]
Description=BusTest

[Service]
Type=dbus
ExecStart=/home/user/projects/BusTest
BusName=test.mybus

和dbus服务文件:

[D-BUS Service]
Name=test.mybus
Exec=/bin/false
User=root
SystemdService=bustest.service

那么有必要拥有总线名称以避免超时?如果我的正常过程是循环的,那么是否有必要创建一个单独的任务来运行g_main_loop_run()?

0 个答案:

没有答案