From: Kichan Kwon Date: Thu, 24 Nov 2016 08:00:31 +0000 (+0900) Subject: common : clean up DBusError X-Git-Tag: accepted/tizen/3.0/common/20161214.074615~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6adfabe038a9d6707289415f64ed9d75c350f244;p=platform%2Fcore%2Fsystem%2Fresourced.git common : clean up DBusError - Define cleanup function - Remove unused variable Change-Id: I11ff0af7ffd55d47f3b0eccdbde652ec243493fe Signed-off-by: Kichan Kwon --- diff --git a/src/common/edbus-handler.c b/src/common/edbus-handler.c index 337f5b7..fb238bc 100644 --- a/src/common/edbus-handler.c +++ b/src/common/edbus-handler.c @@ -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(); diff --git a/src/common/util.h b/src/common/util.h index e974ce5..3ba4f04 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -31,6 +31,7 @@ #include #include #include +#include #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) diff --git a/src/memory/lowmem-dbus.c b/src/memory/lowmem-dbus.c index 94e52ee..f60a2cb 100644 --- a/src/memory/lowmem-dbus.c +++ b/src/memory/lowmem-dbus.c @@ -34,10 +34,11 @@ #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); } diff --git a/src/proc-stat/proc-monitor.c b/src/proc-stat/proc-monitor.c index 187cdc7..adb04e2 100755 --- a/src/proc-stat/proc-monitor.c +++ b/src/proc-stat/proc-monitor.c @@ -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) diff --git a/src/proc-stat/proc-usage-stats.c b/src/proc-stat/proc-usage-stats.c index 4aca16c..cad34e5 100644 --- a/src/proc-stat/proc-usage-stats.c +++ b/src/proc-stat/proc-usage-stats.c @@ -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; } diff --git a/src/swap/swap.c b/src/swap/swap.c index d03a1d4..e40251c 100644 --- a/src/swap/swap.c +++ b/src/swap/swap.c @@ -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; }