- channels[0] = g_io_channel_unix_new(ctx->pipe_fds[0]);
- channels[1] = g_io_channel_unix_new(ctx->pipe_fds[1]);
+ ctx->channels[0] = g_io_channel_unix_new(ctx->pipe_fds[0]);
+ ctx->channels[1] = g_io_channel_unix_new(ctx->pipe_fds[1]);
+
+ g_io_channel_set_flags(ctx->channels[0], G_IO_FLAG_NONBLOCK, NULL);