- purple_timeout_add(ANSWERSCRIPTS_TIMEOUT_INTERVAL, answerscripts_process_message, (gpointer) job);
+ #ifndef __WIN32__
+ int fflags = fcntl(fileno(job->pipe), F_GETFL, 0);
+ fcntl(fileno(job->pipe), F_SETFL, fflags | O_NONBLOCK);
+ #endif
+
+ purple_timeout_add(ANSWERSCRIPTS_TIMEOUT_INTERVAL, (GSourceFunc) answerscripts_process_message_cb, (gpointer) job);