GIOChannel
- From: Kevin DeKorte <kdekorte gmail com>
- To: gtk-app-devel-list gnome org
- Subject: GIOChannel
- Date: Tue, 24 Oct 2006 21:36:44 -0600
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello all,
I'm using the following code fragment
    ok = g_spawn_async_with_pipes("/tmp", argv, NULL,
                G_SPAWN_SEARCH_PATH,
                NULL, NULL, NULL,
                &std_in, &std_out, &std_err,
                NULL);
    channel_out = g_io_channel_unix_new(std_in);
    channel_in = g_io_channel_unix_new(std_out);
    channel_err = g_io_channel_unix_new(std_err);
    g_io_channel_set_close_on_unref (channel_in, TRUE);
    g_io_channel_set_close_on_unref (channel_err, TRUE);
    g_io_add_watch(channel_in,G_IO_IN , thread_reader,NULL);
    g_io_add_watch(channel_err, G_IO_ERR , thread_reader,NULL);
And this is the callback.
gboolean thread_reader(GIOChannel *source, GIOCondition condition,
gpointer data) {
    GString *_output;
    GIOStatus status;
    output = g_string_new("");
    status = g_io_channel_read_line_string(source,output,NULL,NULL);
    if (status == G_IO_STATUS_EOF) {
        g_io_channel_close(source);
        g_io_channel_unref(source);
        return FALSE;
    }
}
It all works and my thread_reader is being called properly, but when I
do this the performance of the GUI is aweful, can't resize the window,
etc.... The second I kill the spawned app the performance returns back
to normal. Is there anything I can to to make this work better. My app
that I am spawning is very chatty, and so there is a lot of output being
processed, so I don't think it is hanging on the read_line.
TIA,
Kevin
- --
Get my public GnuPG key from
http://keyserver.veridis.com:11371/export?id=-1509369771935935023
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iD8DBQFFPtvM6w2kMH0L1dERAr+0AJ961eqC0YLq5OJ5ItwFGqAH8xuYsgCeIdZ5
8s5TVtNF0KhjUk2WrLZqaWg=
=8KTg
-----END PGP SIGNATURE-----
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]