// Set encoding to raw.
g_io_channel_set_encoding (ud->activity_log, NULL, NULL);
// redirect stderr to the writer end of the pipe
+#if defined(_WIN32)
+ // dup2 doesn't work on windows for some stupid reason
+ stderr->_file = pfd[1];
+#else
dup2(pfd[1], /*stderr*/2);
+#endif
setvbuf(stderr, NULL, _IONBF, 0);
channel = g_io_channel_unix_new (pfd[0]);
// I was getting an this error:
{
int pfd[2];
pipe(pfd);
+#if defined( SYS_MINGW )
+ // dup2 doesn't work on windows for some stupid reason
+ stderr->_file = pfd[1];
+#else
dup2(pfd[1], /*stderr*/ 2);
+#endif
FILE * log_f = fdopen(pfd[0], "rb");
char line_buffer[500];