common : clean up DBusError 36/99836/10
authorKichan Kwon <k_c.kwon@samsung.com>
Thu, 24 Nov 2016 08:00:31 +0000 (17:00 +0900)
committerKwon <k_c.kwon@samsung.com>
Mon, 12 Dec 2016 10:18:40 +0000 (02:18 -0800)
- Define cleanup function
- Remove unused variable

Change-Id: I11ff0af7ffd55d47f3b0eccdbde652ec243493fe
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
src/common/edbus-handler.c
src/common/util.h
src/memory/lowmem-dbus.c
src/proc-stat/proc-monitor.c
src/proc-stat/proc-usage-stats.c
src/swap/swap.c

index 337f5b7..fb238bc 100644 (file)
@@ -31,6 +31,7 @@
 #include "edbus-handler.h"
 #include "macro.h"
 #include "resourced.h"
+#include "util.h"
 
 #define EDBUS_INIT_RETRY_COUNT 5
 
@@ -141,10 +142,10 @@ DBusMessage *dbus_method_sync(const char *dest, const char *path,
                const char *sig, char *param[])
 {
        DBusConnection *conn;
-       DBusMessage *msg;
        DBusMessageIter iter;
        DBusMessage *reply;
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
+       _cleanup_dbus_message_unref_ DBusMessage *msg = NULL;
        int r;
 
        conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
@@ -164,22 +165,19 @@ DBusMessage *dbus_method_sync(const char *dest, const char *path,
        r = append_variant(&iter, sig, param);
        if (r < 0) {
                _E("append_variant error(%d)", r);
-               dbus_message_unref(msg);
                dbus_connection_unref(conn);
                return NULL;
        }
 
-       dbus_error_init(&err);
-
        reply = dbus_connection_send_with_reply_and_block(conn, msg,
                        DBUS_REPLY_TIMEOUT, &err);
-       if (dbus_error_is_set(&err)) {
-               _E("dbus_connection_send error(%s:%s)", err.name, err.message);
-               dbus_error_free(&err);
-               reply = NULL;
-       }
 
-       dbus_message_unref(msg);
+       if (!reply) {
+               if (dbus_error_is_set(&err))
+                       _E("dbus_connection_send error: (%s:%s) %s %s:%s-%s", err.name, err.message, dest, path, interface, method);
+               else
+                       _E("dbus_connection_send error : %s %s:%s-%s", dest, path, interface, method);
+       }
        dbus_connection_unref(conn);
        return reply;
 }
@@ -189,11 +187,11 @@ static int dbus_method_sync_pairs(const char *dest, const char *path,
                int num, va_list args)
 {
        DBusConnection *conn;
-       DBusMessage *msg;
        DBusMessage *reply;
        DBusMessageIter iter;
        DBusMessageIter aiter, piter;
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
+       _cleanup_dbus_message_unref_ DBusMessage *msg = NULL;
        int ret, result, i;
        char *key, *value;
 
@@ -225,23 +223,21 @@ static int dbus_method_sync_pairs(const char *dest, const char *path,
 
        dbus_message_iter_close_container(&iter, &aiter);
 
-       dbus_error_init(&err);
-
        reply = dbus_connection_send_with_reply_and_block(conn, msg, DBUS_REPLY_TIMEOUT, &err);
-       dbus_message_unref(msg);
        if (!reply) {
-               _E("dbus_connection_send error(%s:%s) %s %s:%s-%s",
-                       err.name, err.message, dest, path, interface, method);
-               dbus_error_free(&err);
+               if (dbus_error_is_set(&err))
+                       _E("dbus_connection_send error: (%s:%s) %s %s:%s-%s", err.name, err.message, dest, path, interface, method);
+               else
+                       _E("dbus_connection_send error : %s %s:%s-%s", dest, path, interface, method);
                return -ECOMM;
        }
 
        ret = dbus_message_get_args(reply, &err, DBUS_TYPE_INT32, &result, DBUS_TYPE_INVALID);
-       dbus_message_unref(reply);
        if (!ret) {
-               _E("no message : [%s:%s] %s %s:%s-%s",
-                       err.name, err.message, dest, path, interface, method);
-               dbus_error_free(&err);
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return -ENOMSG;
        }
 
@@ -253,8 +249,8 @@ int dbus_method_async(const char *dest, const char *path,
                const char *sig, char *param[])
 {
        DBusConnection *conn;
-       DBusMessage *msg;
        DBusMessageIter iter;
+       _cleanup_dbus_message_unref_ DBusMessage *msg = NULL;
        int ret;
 
        conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
@@ -278,7 +274,6 @@ int dbus_method_async(const char *dest, const char *path,
        }
 
        ret = dbus_connection_send(conn, msg, NULL);
-       dbus_message_unref(msg);
        if (ret != TRUE) {
                _E("dbus_connection_send error");
                return -ECOMM;
@@ -470,7 +465,7 @@ release_entry:
 int broadcast_edbus_signal_str(const char *path, const char *interface,
                const char *name, const char *sig, char *param[])
 {
-       DBusMessage *msg;
+       _cleanup_dbus_message_unref_ DBusMessage *msg = NULL;
        DBusConnection *conn;
        DBusMessageIter iter;
        int r;
@@ -495,7 +490,6 @@ int broadcast_edbus_signal_str(const char *path, const char *interface,
        }
 
        r = dbus_connection_send(conn, msg, NULL);
-       dbus_message_unref(msg);
 
        if (r != TRUE) {
                _E("dbus_connection_send error(%s:%s-%s)",
@@ -620,7 +614,7 @@ int launch_system_app_by_dbus(const char *dest, const char *path,
 
 static void request_name_cb(void *data, DBusMessage *msg, DBusError *error)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        unsigned int val;
        int r;
 
@@ -629,11 +623,12 @@ static void request_name_cb(void *data, DBusMessage *msg, DBusError *error)
                return;
        }
 
-       dbus_error_init(&err);
        r = dbus_message_get_args(msg, &err, DBUS_TYPE_UINT32, &val, DBUS_TYPE_INVALID);
        if (!r) {
-               _E("no message : [%s:%s]", err.name, err.message);
-               dbus_error_free(&err);
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
 
@@ -644,10 +639,9 @@ void edbus_init(void)
 {
        int retry = 0;
        int i;
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
 
        dbus_threads_init_default();
-       dbus_error_init(&err);
 
 retry_init:
        edbus_init_val = e_dbus_init();
index e974ce5..3ba4f04 100644 (file)
@@ -31,6 +31,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <dirent.h>
+#include <dbus/dbus.h>
 
 #define COMMENT                '#'
 #define COMMENTS       "#;"
@@ -69,22 +70,39 @@ static inline void closedirp(DIR **d)
                closedir(*d);
 }
 
+static inline void __dbus_error_free(DBusError *error) {
+       if (error && dbus_error_is_set(error))
+               dbus_error_free(error);
+}
+
+static inline void __dbus_message_unref(DBusMessage **message) {
+       if (*message)
+               dbus_message_unref(*message);
+}
+
 #define _cleanup_free_ _cleanup_(freep)
 #define _cleanup_close_ _cleanup_(closep)
 #define _cleanup_fclose_ _cleanup_(fclosep)
 #define _cleanup_pclose_ _cleanup_(pclosep)
 #define _cleanup_closedir_ _cleanup_(closedirp)
+#define _cleanup_dbus_error_free_ _cleanup_(__dbus_error_free)
+#define _cleanup_dbus_message_unref_ _cleanup_(__dbus_message_unref)
 
 #define NUM_DIFF(x, y) ((x > y) ? (x - y) : (y -x))
 
 #define BYTE_TO_KBYTE(b) ((b) >> 10)
 #define BYTE_TO_MBYTE(b) ((b) >> 20)
 #define BYTE_TO_GBYTE(b) ((b) >> 30)
+#define BYTE_TO_PAGE(b) ((b) >> 12)
 
 #define KBYTE_TO_BYTE(k) ((k) << 10)
 #define KBYTE_TO_MBYTE(k) ((k) >> 10)
 #define KBYTE_TO_GBYTE(k) ((k) >> 20)
 
+#define MBYTE_TO_BYTE(m) ((m) << 20)
+#define MBYTE_TO_KBYTE(m) ((m) << 10)
+#define MBYTE_TO_GBYTE(m) ((m) >> 10)
+
 #define GBYTE_TO_BYTE(g) ((g) << 30)
 #define GBYTE_TO_KBYTE(g) ((g) << 20)
 #define GBYTE_TO_MBYTE(g) ((g) << 10)
index 94e52ee..f60a2cb 100644 (file)
 #include "macro.h"
 #include "memory-common.h"
 #include "procfs.h"
+#include "util.h"
 
 static void lowmem_dbus_oom_set_threshold(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret;
        int level, thres;
 
@@ -49,13 +50,14 @@ static void lowmem_dbus_oom_set_threshold(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        ret = dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &level,
            DBUS_TYPE_INT32, &thres, DBUS_TYPE_INVALID);
 
        if (ret == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
 
@@ -64,7 +66,7 @@ static void lowmem_dbus_oom_set_threshold(void *data, DBusMessage *msg)
 
 static void lowmem_dbus_oom_set_leave_threshold(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret;
        int thres;
 
@@ -76,14 +78,14 @@ static void lowmem_dbus_oom_set_leave_threshold(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        ret = dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &thres,
            DBUS_TYPE_INVALID);
 
        if (ret == 0) {
-               _D("there is no message");
-               return;
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
        }
 
        lowmem_memcg_set_leave_threshold(MEMCG_MEMORY, thres);
@@ -91,7 +93,6 @@ static void lowmem_dbus_oom_set_leave_threshold(void *data, DBusMessage *msg)
 
 static void lowmem_dbus_oom_trigger(void *data, DBusMessage *msg)
 {
-       DBusError err;
        int ret;
 
        ret = dbus_message_is_signal(msg, RESOURCED_INTERFACE_OOM,
@@ -101,8 +102,6 @@ static void lowmem_dbus_oom_trigger(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        lowmem_change_memory_state(LOWMEM_LOW, 1);
        lowmem_memory_oom_killer(OOM_FORCE | OOM_NOMEMORY_CHECK);
        lowmem_change_memory_state(LOWMEM_NORMAL, 0);
@@ -110,11 +109,10 @@ static void lowmem_dbus_oom_trigger(void *data, DBusMessage *msg)
 
 static void lowmem_dbus_set_perceptible(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret;
        pid_t pid;
 
-       dbus_error_init(&err);
        ret = dbus_message_is_signal(msg, RESOURCED_INTERFACE_OOM,
            SIGNAL_OOM_SET_PERCEPTIBLE);
        if (ret == 0) {
@@ -124,20 +122,21 @@ static void lowmem_dbus_set_perceptible(void *data, DBusMessage *msg)
 
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid,
                    DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
        proc_set_oom_score_adj(pid, OOMADJ_BACKGRD_PERCEPTIBLE);
 }
 
 static void lowmem_dbus_set_platform(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret;
        pid_t pid;
 
-       dbus_error_init(&err);
        ret = dbus_message_is_signal(msg, RESOURCED_INTERFACE_OOM,
            SIGNAL_OOM_SET_PLATFORM);
        if (ret == 0) {
@@ -147,10 +146,12 @@ static void lowmem_dbus_set_platform(void *data, DBusMessage *msg)
 
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid,
                    DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
        lowmem_trigger_swap(pid, MEMCG_PLATFORM);
 }
 
index 187cdc7..adb04e2 100755 (executable)
@@ -43,6 +43,7 @@
 #include "notifier.h"
 #include "init.h"
 #include "module.h"
+#include "util.h"
 
 #define WATCHDOG_LAUNCHING_PARAM "PopupLaunch"
 #define WATCHDOG_KEY1                  "_SYSPOPUP_CONTENT_"
@@ -134,12 +135,10 @@ static DBusMessage *edbus_get_meminfo(E_DBus_Object *obj, DBusMessage *msg)
 
 static DBusMessage *edbus_reclaim_memory(E_DBus_Object *obj, DBusMessage *msg)
 {
-       DBusError err;
        DBusMessageIter iter;
        DBusMessage *reply;
        int ret = -1;
 
-       dbus_error_init(&err);
        _D("reclaiming memory!");
 
        ret = proc_sys_node_trigger(SYS_VM_SHRINK_MEMORY);
@@ -171,7 +170,7 @@ static DBusMessage *edbus_pre_poweroff(E_DBus_Object *obj, DBusMessage *msg)
 
 static void proc_dbus_active_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret, type;
        char *str;
        pid_t pid;
@@ -182,10 +181,11 @@ static void proc_dbus_active_signal_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_STRING, &str, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
 
@@ -287,18 +287,10 @@ static DBusMessage *edbus_get_memory_list(E_DBus_Object *obj, DBusMessage *msg)
        GSList *giter;
        char *appid;
        struct proc_app_info *pai;
-       unsigned int total = 0, usage = 0;
+       unsigned int usage = 0;
 
        reply = dbus_message_new_method_return(msg);
        proc_app_list = proc_app_list_open();
-       gslist_for_each_item(giter, proc_app_list) {
-               pai = (struct proc_app_info *)giter->data;
-               if (!pai->main_pid)
-                       continue;
-               if (proc_get_procstat_mem_usage(pai->main_pid, &usage) < 0)
-                       continue;
-               total += usage;
-       }
 
        dbus_message_iter_init_append(reply, &iter);
        dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "(su)", &arr);
@@ -460,7 +452,7 @@ static DBusMessage *edbus_get_cpu_lists(E_DBus_Object *obj, DBusMessage *msg)
 
 static void proc_dbus_exclude_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret;
        char *str;
        pid_t pid;
@@ -473,10 +465,11 @@ static void proc_dbus_exclude_signal_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_STRING, &str, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
 
@@ -511,7 +504,7 @@ static void proc_dbus_exclude_signal_handler(void *data, DBusMessage *msg)
 
 static void proc_dbus_exclude_appid_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret;
        char *str;
        char *appid;
@@ -526,11 +519,12 @@ static void proc_dbus_exclude_appid_signal_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_STRING, &str,
            DBUS_TYPE_STRING, &appid, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
 
@@ -571,7 +565,7 @@ static void proc_dbus_exclude_appid_signal_handler(void *data, DBusMessage *msg)
 
 static void proc_dbus_prelaunch_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret;
        char *appid;
        char *pkgid;
@@ -586,14 +580,15 @@ static void proc_dbus_prelaunch_signal_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        if (dbus_message_get_args(msg, &err,
                DBUS_TYPE_STRING, &appid,
                DBUS_TYPE_STRING, &pkgid,
                DBUS_TYPE_INT32, &flags,
                DBUS_TYPE_INT32, &categories, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
 
@@ -608,7 +603,6 @@ static void proc_dbus_prelaunch_signal_handler(void *data, DBusMessage *msg)
 
 static void proc_dbus_sweep_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
        int ret;
 
        ret = dbus_message_is_signal(msg, RESOURCED_INTERFACE_PROCESS,
@@ -619,7 +613,6 @@ static void proc_dbus_sweep_signal_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
        proc_sweep_memory(PROC_SWEEP_INCLUDE_ACTIVE, INIT_PID);
 }
 
@@ -642,7 +635,7 @@ static Eina_Bool check_watchdog_cb(void *data)
 
 static void proc_dbus_watchdog_result(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int type;
 
        if (dbus_message_is_signal(msg, RESOURCED_INTERFACE_PROCESS, SIGNAL_PROC_WATCHDOG_RESULT) == 0) {
@@ -650,10 +643,11 @@ static void proc_dbus_watchdog_result(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &type, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
 
@@ -697,7 +691,6 @@ static int proc_dbus_show_popup(const char *value)
 
 static void proc_dbus_watchdog_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
        int pid, command, ret;
        char appname[PROC_NAME_MAX];
        struct proc_status ps;
@@ -707,8 +700,6 @@ static void proc_dbus_watchdog_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        ret = dbus_message_get_args(msg, NULL, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32,
                &command, DBUS_TYPE_INVALID);
 
@@ -772,7 +763,7 @@ static void send_dump_signal(char *signal)
 
 static void proc_dbus_dump_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        dbus_bool_t ret;
        char *path;
        int mode;
@@ -782,12 +773,13 @@ static void proc_dbus_dump_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        ret = dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &mode,
                    DBUS_TYPE_STRING, &path, DBUS_TYPE_INVALID);
        if (ret == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
        _D("received dump request: path %s", path);
@@ -798,7 +790,7 @@ static void proc_dbus_dump_handler(void *data, DBusMessage *msg)
 
 static void proc_dbus_systemservice_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        dbus_bool_t ret;
        pid_t pid;
 
@@ -807,12 +799,13 @@ static void proc_dbus_systemservice_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        ret = dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid,
                    DBUS_TYPE_INVALID);
        if (ret == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
        resourced_proc_status_change(PROC_CGROUP_SET_SYSTEM_SERVICE, pid,
@@ -858,15 +851,12 @@ static DBusMessage *edbus_signal_trigger(E_DBus_Object *obj, DBusMessage *msg)
 
 static void proc_dbus_lcd_on(void *data, DBusMessage *msg)
 {
-       DBusError err;
-       dbus_error_init(&err);
-
        if (dbus_message_is_signal(msg, DEVICED_INTERFACE_DISPLAY,
                    SIGNAL_DEVICED_LCDON) == 0) {
                _D("there is no lcd on signal");
                return;
        }
-       dbus_error_free(&err);
+
        current_lcd_state = LCD_STATE_ON;
        resourced_notify(RESOURCED_NOTIFIER_LCD_ON, NULL);
        /* nothing */
@@ -874,25 +864,18 @@ static void proc_dbus_lcd_on(void *data, DBusMessage *msg)
 
 static void proc_dbus_lcd_off(void *data, DBusMessage *msg)
 {
-       DBusError err;
-
-       dbus_error_init(&err);
        if (dbus_message_is_signal(msg, DEVICED_INTERFACE_DISPLAY,
                    SIGNAL_DEVICED_LCDOFF) == 0) {
                _D("there is no lcd on signal");
                return;
        }
 
-       dbus_error_free(&err);
        current_lcd_state = LCD_STATE_OFF;
        resourced_notify(RESOURCED_NOTIFIER_LCD_OFF, NULL);
 }
 
 static void booting_done_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
-
-       dbus_error_init(&err);
        if (dbus_message_is_signal(msg, DEVICED_INTERFACE_CORE,
                    SIGNAL_DEVICED_BOOTINGDONE) == 0) {
                _D("there is no lcd on signal");
@@ -912,9 +895,6 @@ static void booting_done_signal_handler(void *data, DBusMessage *msg)
 
 static void early_booting_done_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
-
-       dbus_error_init(&err);
        if (dbus_message_is_signal(msg, DEVICED_INTERFACE_CORE,
                    SIGNAL_DEVICED_EARLY_BOOTING_DONE) == 0) {
                _D("there is no lcd on signal");
@@ -927,9 +907,6 @@ static void early_booting_done_signal_handler(void *data, DBusMessage *msg)
 
 static void low_battery_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
-
-       dbus_error_init(&err);
        if (dbus_message_is_signal(msg, DEVICED_INTERFACE_BATTERY,
                    SIGNAL_DEVICED_LOW_BATTERY) == 0) {
                _D("there is no low battery signal");
@@ -941,9 +918,6 @@ static void low_battery_signal_handler(void *data, DBusMessage *msg)
 
 static void poweroff_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
-
-       dbus_error_init(&err);
        if (dbus_message_is_signal(msg, DEVICED_INTERFACE_POWEROFF,
                    SIGNAL_DEVICED_POWEROFF_STATE) == 0) {
                _D("there is no power off signal");
@@ -956,9 +930,6 @@ static void poweroff_signal_handler(void *data, DBusMessage *msg)
 
 static void systemtime_changed_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
-
-       dbus_error_init(&err);
        if (dbus_message_is_signal(msg, DEVICED_INTERFACE_TIME,
                    SIGNAL_DEVICED_SYSTEMTIME_CHANGED) == 0) {
                _D("there is no system time changed signal");
@@ -970,8 +941,7 @@ static void systemtime_changed_signal_handler(void *data, DBusMessage *msg)
 
 static void proc_dbus_aul_launch(void *data, DBusMessage *msg)
 {
-       DBusError err;
-       dbus_error_init(&err);
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        pid_t pid;
        int status, apptype;
        char *appid, *pkgid, *pkgtype;
@@ -985,10 +955,12 @@ static void proc_dbus_aul_launch(void *data, DBusMessage *msg)
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid,
                    DBUS_TYPE_STRING, &appid, DBUS_TYPE_STRING, &pkgid,
                    DBUS_TYPE_STRING, &pkgtype, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
 
 #ifdef PROC_DEBUG
        _D("aul_launch: app %s, pkgd %s, pid %d, pkgtype %s",
@@ -1015,8 +987,7 @@ static void proc_dbus_aul_launch(void *data, DBusMessage *msg)
 
 static void proc_dbus_aul_resume(void *data, DBusMessage *msg)
 {
-       DBusError err;
-       dbus_error_init(&err);
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        pid_t pid;
        int status = PROC_CGROUP_SET_RESUME_REQUEST, apptype;
        char *appid, *pkgid, *pkgtype;
@@ -1030,10 +1001,12 @@ static void proc_dbus_aul_resume(void *data, DBusMessage *msg)
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid,
                    DBUS_TYPE_STRING, &appid, DBUS_TYPE_STRING, &pkgid,
                    DBUS_TYPE_STRING, &pkgtype, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
 
        if (!strncmp(pkgtype, "svc", 3))
                apptype = PROC_TYPE_SERVICE;
@@ -1049,8 +1022,7 @@ static void proc_dbus_aul_resume(void *data, DBusMessage *msg)
 
 static void proc_dbus_aul_terminate(void *data, DBusMessage *msg)
 {
-       DBusError err;
-       dbus_error_init(&err);
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        pid_t pid;
        int status = PROC_CGROUP_SET_TERMINATE_REQUEST;
        char *appid, *pkgid, *pkgtype;
@@ -1064,18 +1036,19 @@ static void proc_dbus_aul_terminate(void *data, DBusMessage *msg)
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid,
                    DBUS_TYPE_STRING, &appid, DBUS_TYPE_STRING, &pkgid,
                    DBUS_TYPE_STRING, &pkgtype, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
 
        resourced_proc_status_change(status, pid, appid, pkgid, PROC_TYPE_NONE);
 }
 
 static void proc_dbus_aul_changestate(void *data, DBusMessage *msg)
 {
-       DBusError err;
-       dbus_error_init(&err);
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        pid_t pid;
        int status, apptype;
        char *appid, *pkgid, *statstr, *pkgtype;
@@ -1090,10 +1063,12 @@ static void proc_dbus_aul_changestate(void *data, DBusMessage *msg)
                    DBUS_TYPE_STRING, &appid, DBUS_TYPE_STRING, &pkgid,
                    DBUS_TYPE_STRING, &statstr, DBUS_TYPE_STRING, &pkgtype,
                    DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
 
        if (!strncmp(statstr, "fg", 2))
                status = PROC_CGROUP_SET_FOREGRD;
@@ -1116,8 +1091,7 @@ static void proc_dbus_aul_changestate(void *data, DBusMessage *msg)
 
 static void proc_dbus_aul_group(void *data, DBusMessage *msg)
 {
-       DBusError err;
-       dbus_error_init(&err);
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        pid_t ownerpid, childpid;
        char *appid;
 
@@ -1130,10 +1104,12 @@ static void proc_dbus_aul_group(void *data, DBusMessage *msg)
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &ownerpid,
                    DBUS_TYPE_INT32, &childpid, DBUS_TYPE_STRING, &appid,
                    DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
 
        if (ownerpid == childpid) {
                _I("specific case, one application %d makes multiple window. skip to merge", ownerpid);
@@ -1147,8 +1123,7 @@ static void proc_dbus_aul_group(void *data, DBusMessage *msg)
 
 static void proc_dbus_aul_terminated(void *data, DBusMessage *msg)
 {
-       DBusError err;
-       dbus_error_init(&err);
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        pid_t pid;
        int status = PROC_CGROUP_SET_TERMINATED;
 
@@ -1160,18 +1135,19 @@ static void proc_dbus_aul_terminated(void *data, DBusMessage *msg)
 
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid,
                    DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
 
        resourced_proc_status_change(status, pid, NULL, NULL, PROC_TYPE_NONE);
 }
 
 static void proc_dbus_suspend_hint(void *data, DBusMessage *msg)
 {
-       DBusError err;
-       dbus_error_init(&err);
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        pid_t pid;
        struct proc_app_info *pai = NULL;
        struct proc_status ps = {0};
@@ -1185,10 +1161,12 @@ static void proc_dbus_suspend_hint(void *data, DBusMessage *msg)
 
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid,
                    DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
-       dbus_error_free(&err);
 
        pai = find_app_info(pid);
        if (!pai)
index 4aca16c..cad34e5 100644 (file)
@@ -56,6 +56,7 @@
 #include "macro.h"
 #include "trace.h"
 #include "edbus-handler.h"
+#include "util.h"
 
 #define PROCESS_MEMORY_USAGE_METHOD "ProcMemoryUsage"
 #define PROCESS_CPU_USAGE_METHOD "ProcCpuUsage"
@@ -268,7 +269,7 @@ static DBusMessage *proc_runtime_info_request_handler(DBusMessage *msg, runtime_
        struct runtime_info_task *rt_task;
        DBusMessage *reply;
        DBusMessageIter iter;
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        dbus_bool_t bret;
        Ecore_Fd_Handler *task_efd;
 
@@ -305,10 +306,13 @@ static DBusMessage *proc_runtime_info_request_handler(DBusMessage *msg, runtime_
                        (rt_task->task_type == RUNTIME_INFO_TASK_MEMORY) ? "memory" : "cpu",
                        rt_task->task_name);
 
-       dbus_error_init(&err);
        bret = dbus_message_get_args(rt_task->task_msg, &err, DBUS_TYPE_ARRAY, DBUS_TYPE_INT32,
                        &rt_task->pid_list, &rt_task->task_size, DBUS_TYPE_INVALID);
        if (!bret) {
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                _E("task %s: not able to extract list of process IDs from the dbus message", rt_task->task_name);
                ret = -EIO;
                goto error;
@@ -348,7 +352,6 @@ static DBusMessage *proc_runtime_info_request_handler(DBusMessage *msg, runtime_
        } else
                pthread_detach(task_thread);
        _D("task %s: created thread for task", rt_task->task_name);
-       dbus_error_free(&err);
        return NULL;
 
 error:
@@ -359,7 +362,6 @@ error:
        dbus_message_iter_init_append(reply, &iter);
        dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &ret);
 
-       dbus_error_free(&err);
        proc_free_runtime_info_task(rt_task);
        return reply;
 }
index d03a1d4..e40251c 100644 (file)
@@ -763,7 +763,7 @@ static int swap_cgroup_reset_limit(void *data)
 
 static void swap_start_pid_edbus_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        int ret;
        pid_t pid;
        struct memcg *memcg_swap;
@@ -775,10 +775,11 @@ static void swap_start_pid_edbus_signal_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }
 
@@ -795,7 +796,7 @@ static void swap_start_pid_edbus_signal_handler(void *data, DBusMessage *msg)
 
 static void swap_type_edbus_signal_handler(void *data, DBusMessage *msg)
 {
-       DBusError err;
+       _cleanup_dbus_error_free_ DBusError err = DBUS_ERROR_INIT;
        enum swap_state state;
 
        if (dbus_message_is_signal(msg, RESOURCED_INTERFACE_SWAP, SIGNAL_NAME_SWAP_TYPE) == 0) {
@@ -803,10 +804,11 @@ static void swap_type_edbus_signal_handler(void *data, DBusMessage *msg)
                return;
        }
 
-       dbus_error_init(&err);
-
        if (dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &state, DBUS_TYPE_INVALID) == 0) {
-               _D("there is no message");
+               if (dbus_error_is_set(&err))
+                       _D("there is no message: %s %s", err.name, err.message);
+               else
+                       _D("there is no message");
                return;
        }