summaryrefslogtreecommitdiffstats
path: root/bus
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2009-02-25 11:11:24 +0800
committerPeng Huang <shawn.p.huang@gmail.com>2009-02-25 11:11:24 +0800
commite21e45aee092fa6681aafeea9c30013977a88deb (patch)
treeb59deaa3a96f238382b53b877f957d91be52f095 /bus
parent957b778d361fa270e37bc403c2640698f4718e29 (diff)
downloadibus-e21e45aee092fa6681aafeea9c30013977a88deb.tar.gz
ibus-e21e45aee092fa6681aafeea9c30013977a88deb.tar.xz
ibus-e21e45aee092fa6681aafeea9c30013977a88deb.zip
Give out more information when server listens failed.
Diffstat (limited to 'bus')
-rw-r--r--bus/server.c16
1 files changed, 12 insertions, 4 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