【发布时间】:2015-07-01 14:50:03
【问题描述】:
我正在尝试通过在linux 中使用Glib-Dbus 来调用NetworkManager 的DBus 方法。当我通过 g_dbus_proxy_new_sync 创建 GDBusProxy 然后通过 g_object_unref 释放它时,新创建的 GDBusProxy 似乎没有被释放。我使用pmap -x <pid> 来显示我的进程的内存使用情况,RSS 的值不断增加。有人可以帮我吗?
这是导致问题的代码:
int main (int argc, char *argv[]) { GDBusConnection * 连接 = NULL; GDBusProxy * 代理 = NULL; GError * 错误 = NULL; 连接 = g_bus_get_sync(G_BUS_TYPE_SYSTEM, 空值, &错误); g_assert_no_error(错误); 错误=空; 而 (1) { 代理 = g_dbus_proxy_new_sync(连接, G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS, 空值, "org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager/设置", "org.freedesktop .NetworkManager.Settings", 空值, 空值); g_assert(代理!= NULL); g_object_unref(代理); } g_object_unref(连接); 返回0; }提前致谢
【问题讨论】: