diff --git a/src/plugin.c b/src/plugin.c
index 05b83b70ff212d6ac94c59573fb4cc9fe41a57bb..f9049ecfa77458285c07da66f4946f542a1b4959 100644 (file)
--- a/src/plugin.c
+++ b/src/plugin.c
p->data = g_string_new(NULL);
GIOChannel *channel = g_io_channel_unix_new(fd);
p->event_id = g_io_add_watch(channel, G_IO_IN|G_IO_HUP,
- plugin_data, cycle);
+ plugin_data, p);
g_io_channel_unref(channel);
}
if (cycle->next_plugin >= cycle->list->plugins->len) {
/* no plugins left */
- g_timeout_add(0, plugin_delayed_fail, cycle);
+ g_idle_add(plugin_delayed_fail, cycle);
return;
}
cycle->next_plugin++);
if (start_plugin(cycle, plugin_path) < 0) {
/* system error */
- g_timeout_add(0, plugin_delayed_fail, cycle);
+ g_idle_add(plugin_delayed_fail, cycle);
return;
}
}