There is a bug here:
+++ b/src/greeter.c @@ -937,6 +937,8 @@ greeter_finalize (GObject *object) if (self->priv->from_greeter_channel) g_io_channel_unref (self->priv->from_greeter_channel);
+ close(g_io_channel_unix_get_fd(self->priv->to_greeter_channel)); + close(g_io_channel_unix_get_fd(self->priv->from_greeter_channel));
You access self->priv->from_greeter_channel after unreffing it...
There is a bug here:
+++ b/src/greeter.c priv->from_ greeter_ channel)
g_io_ channel_ unref (self-> priv->from_ greeter_ channel) ;
@@ -937,6 +937,8 @@ greeter_finalize (GObject *object)
if (self->
+ close(g_ io_channel_ unix_get_ fd(self- >priv-> to_greeter_ channel) ); io_channel_ unix_get_ fd(self- >priv-> from_greeter_ channel) );
+ close(g_
You access self->priv- >from_greeter_ channel after unreffing it...