| 75 g_source_remove(readhandle); |
75 g_source_remove(readhandle); |
| 76 readhandle = -1; |
76 readhandle = -1; |
| 77 } |
77 } |
| 78 return; |
78 return; |
| 79 } |
79 } |
| 80 pipe(pipes); |
80 if (pipe(pipes)) { |
| |
81 readhandle = -1; |
| |
82 return; |
| |
83 }; |
| 81 dup2(pipes[1], STDERR_FILENO); |
84 dup2(pipes[1], STDERR_FILENO); |
| 82 |
85 |
| 83 stderrch = g_io_channel_unix_new(pipes[0]); |
86 stderrch = g_io_channel_unix_new(pipes[0]); |
| 84 g_io_channel_set_close_on_unref(stderrch, TRUE); |
87 g_io_channel_set_close_on_unref(stderrch, TRUE); |
| 85 readhandle = g_io_add_watch_full(stderrch, G_PRIORITY_HIGH, |
88 readhandle = g_io_add_watch_full(stderrch, G_PRIORITY_HIGH, |