gladish: Don't log dbus error when studio is not loaded on gladish start
This commit is contained in:
parent
67ba277fa5
commit
d4946efe30
|
@ -189,6 +189,7 @@ static void disconnect_dbus(void)
|
|||
{
|
||||
dbus_object_path_destroy(g_dbus_connection, g_control_object);
|
||||
dbus_connection_unref(g_dbus_connection);
|
||||
dbus_call_last_error_cleanup();
|
||||
}
|
||||
|
||||
void term_signal_handler(int signum)
|
||||
|
|
|
@ -42,6 +42,8 @@
|
|||
|
||||
DBusConnection * g_dbus_connection;
|
||||
DBusError g_dbus_error;
|
||||
static char * g_dbus_call_last_error_name;
|
||||
static char * g_dbus_call_last_error_message;
|
||||
|
||||
struct dbus_signal_hook_descriptor
|
||||
{
|
||||
|
@ -62,6 +64,41 @@ struct dbus_service_descriptor
|
|||
|
||||
LIST_HEAD(g_dbus_services);
|
||||
|
||||
|
||||
void dbus_call_last_error_cleanup(void)
|
||||
{
|
||||
free(g_dbus_call_last_error_name);
|
||||
g_dbus_call_last_error_name = NULL;
|
||||
|
||||
free(g_dbus_call_last_error_message);
|
||||
g_dbus_call_last_error_message = NULL;
|
||||
}
|
||||
|
||||
bool dbus_call_last_error_is_name(const char * name)
|
||||
{
|
||||
return g_dbus_call_last_error_name != NULL && strcmp(name, g_dbus_call_last_error_name) == 0;
|
||||
}
|
||||
|
||||
const char * dbus_call_last_error_get_message(void)
|
||||
{
|
||||
return g_dbus_call_last_error_message != NULL ? g_dbus_call_last_error_message : "";
|
||||
}
|
||||
|
||||
static void dbus_call_last_error_set(void)
|
||||
{
|
||||
dbus_call_last_error_cleanup();
|
||||
|
||||
if (g_dbus_error.name != NULL)
|
||||
{
|
||||
g_dbus_call_last_error_name = strdup(g_dbus_error.name);
|
||||
}
|
||||
|
||||
if (g_dbus_error.message != NULL)
|
||||
{
|
||||
g_dbus_call_last_error_message = strdup(g_dbus_error.message);
|
||||
}
|
||||
}
|
||||
|
||||
bool dbus_iter_get_dict_entry(DBusMessageIter * iter_ptr, const char * key, void * value, int * type, int * size)
|
||||
{
|
||||
DBusMessageIter dict_iter;
|
||||
|
@ -353,7 +390,7 @@ dbus_call_raw(
|
|||
&g_dbus_error);
|
||||
if (reply_ptr == NULL)
|
||||
{
|
||||
//log_error("calling method '%s' failed, error is '%s'", method, g_dbus_error.message);
|
||||
dbus_call_last_error_set();
|
||||
dbus_error_free(&g_dbus_error);
|
||||
}
|
||||
|
||||
|
|
|
@ -111,6 +111,10 @@ dbus_unregister_service_lifetime_hook(
|
|||
DBusConnection * connection,
|
||||
const char * service);
|
||||
|
||||
void dbus_call_last_error_cleanup(void);
|
||||
bool dbus_call_last_error_is_name(const char * name);
|
||||
const char * dbus_call_last_error_get_message(void);
|
||||
|
||||
#include "method.h"
|
||||
#include "signal.h"
|
||||
#include "interface.h"
|
||||
|
|
|
@ -55,4 +55,6 @@ void dbus_uninit(void)
|
|||
{
|
||||
dbus_error_free(&g_dbus_error);
|
||||
}
|
||||
|
||||
dbus_call_last_error_cleanup();
|
||||
}
|
||||
|
|
|
@ -298,7 +298,12 @@ studio_proxy_set_room_callbacks(
|
|||
|
||||
if (!dbus_call(0, SERVICE_NAME, STUDIO_OBJECT_PATH, IFACE_STUDIO, "GetRoomList", "", NULL, &reply_ptr))
|
||||
{
|
||||
log_error("Cannot fetch studio room list");
|
||||
/* Don't log error if there is no studio loaded */
|
||||
if (!dbus_call_last_error_is_name(DBUS_ERROR_UNKNOWN_METHOD))
|
||||
{
|
||||
log_error("Cannot fetch studio room list: %s", dbus_call_last_error_get_message());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue