summaryrefslogtreecommitdiff
path: root/openbox/ping.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2010-06-08 17:50:23 -0400
committerDana Jansens <danakj@orodu.net>2010-06-14 12:19:01 -0400
commitfd77a0a7b3f892925f203287b8b46c6ec9be94ea (patch)
treea3e61c8c17969a41279ba21592be7543a262fcd5 /openbox/ping.c
parent2e94af28e4c12166cb74233526bb79f50877903c (diff)
Use GMainLoop instead of ObtMainLoop
Diffstat (limited to 'openbox/ping.c')
-rw-r--r--openbox/ping.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/openbox/ping.c b/openbox/ping.c
index bf39a30a..7cb47669 100644
--- a/openbox/ping.c
+++ b/openbox/ping.c
@@ -22,7 +22,6 @@
#include "event.h"
#include "debug.h"
#include "openbox.h"
-#include "obt/mainloop.h"
#include "obt/prop.h"
typedef struct _ObPingTarget
@@ -30,13 +29,14 @@ typedef struct _ObPingTarget
ObClient *client;
ObPingEventHandler h;
guint32 id;
+ guint loopid;
gint waiting;
} ObPingTarget;
static GHashTable *ping_ids = NULL;
static guint32 ping_next_id = 1;
-#define PING_TIMEOUT (G_USEC_PER_SEC * 3)
+#define PING_TIMEOUT 3000 /* in MS */
/*! Warn the user after this many PING_TIMEOUT intervals */
#define PING_TIMEOUT_WARN 2
@@ -79,8 +79,8 @@ void ping_start(struct _ObClient *client, ObPingEventHandler h)
t->client = client;
t->h = h;
- obt_main_loop_timeout_add(ob_main_loop, PING_TIMEOUT, ping_timeout,
- t, g_direct_equal, NULL);
+ t->loopid = g_timeout_add_full(G_PRIORITY_DEFAULT, PING_TIMEOUT,
+ ping_timeout, t, NULL);
/* act like we just timed out immediately, to start the pinging process
now instead of after the first delay. this makes sure the client
ends up in the ping_ids hash table now. */
@@ -158,8 +158,7 @@ static void ping_end(ObClient *client, gpointer data)
if ((t = g_hash_table_find(ping_ids, find_client, client))) {
g_hash_table_remove(ping_ids, &t->id);
- obt_main_loop_timeout_remove_data(ob_main_loop, ping_timeout,
- t, FALSE);
+ g_source_remove(t->loopid);
g_slice_free(ObPingTarget, t);
}