From e21e45aee092fa6681aafeea9c30013977a88deb Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Wed, 25 Feb 2009 11:11:24 +0800 Subject: Give out more information when server listens failed. --- bus/server.c | 16 ++++++++++++---- src/ibusserver.c | 15 ++++++++------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/bus/server.c b/bus/server.c index 3a957db..0557861 100644 --- a/bus/server.c +++ b/bus/server.c @@ -87,13 +87,21 @@ bus_server_listen (BusServer *server) // const gchar *address = "unix:abstract=/tmp/ibus-c" const gchar *address; gchar *path; + gboolean retval; path = g_strdup_printf("/tmp/ibus-%s", ibus_get_user_name ()); mkdir (path, 0775); - g_free(path); address = ibus_get_address (); - return ibus_server_listen (IBUS_SERVER (server), address); + retval = ibus_server_listen (IBUS_SERVER (server), address); + + if (!retval) { + g_printerr ("Can not listen on %s! Please try remove directory %s and run again.", address, path); + exit (-1); + } + + g_free(path); + return retval; } void @@ -128,8 +136,8 @@ static void bus_server_init (BusServer *server) { server->loop = g_main_loop_new (NULL, FALSE); - server->dbus = bus_dbus_impl_get_default (); - server->ibus = bus_ibus_impl_get_default (); + server->dbus = bus_dbus_impl_get_default (); + server->ibus = bus_ibus_impl_get_default (); } static void diff --git a/src/ibusserver.c b/src/ibusserver.c index cd4e1e4..2299856 100644 --- a/src/ibusserver.c +++ b/src/ibusserver.c @@ -56,7 +56,7 @@ static void ibus_server_get_property(IBusServer *server, guint prop_id, GValue *value, GParamSpec *pspec); -static void ibus_server_listen_internal +static gboolean ibus_server_listen_internal (IBusServer *server, const gchar *address); static void ibus_server_new_connection @@ -107,9 +107,8 @@ ibus_server_listen (IBusServer *server, { g_assert (IBUS_IS_SERVER (server)); g_assert (address != NULL); - ibus_server_listen_internal (server, address); - return TRUE; + return ibus_server_listen_internal (server, address); } static void @@ -236,7 +235,7 @@ _new_connection_cb (DBusServer *dbus_server, g_object_unref (connection); } -static void +static gboolean ibus_server_listen_internal (IBusServer *server, const gchar *address) { @@ -254,9 +253,10 @@ ibus_server_listen_internal (IBusServer *server, priv->server = dbus_server_listen (address, &error); if (priv->server == NULL) { - g_error ("Can not listen on '%s':\n" - " %s:%s", - address, error.name, error.message); + g_warning ("Can not listen on '%s':\n" + " %s:%s", + address, error.name, error.message); + return FALSE; } dbus_server_set_new_connection_function (priv->server, @@ -266,6 +266,7 @@ ibus_server_listen_internal (IBusServer *server, dbus_server_set_auth_mechanisms (priv->server, NULL); dbus_server_setup (priv->server, NULL); + return TRUE; } void -- cgit