+
+ {
+ int fl;
+ /*
+ * Make sure that stdout/err are non-blocking.
+ */
+ if ((fl = fcntl(STDOUT_FILENO, F_GETFL)) == -1 ||
+ fcntl(STDOUT_FILENO, F_SETFL, fl | O_NONBLOCK) == -1) {
+ perror("stdout");
+ exit(1);
+ }
+ if ((fl = fcntl(STDERR_FILENO, F_GETFL)) == -1 ||
+ fcntl(STDERR_FILENO, F_SETFL, fl | O_NONBLOCK) == -1) {
+ perror("stderr");
+ exit(1);
+ }
+ }