]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
I am not sure whether this is proper fix for a problem that birdc
authorOndrej Zajicek <santiago@crfreenet.org>
Fri, 21 Nov 2008 12:05:12 +0000 (13:05 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Fri, 21 Nov 2008 12:05:12 +0000 (13:05 +0100)
shows only parts of larger outputs (for example 'show route all').
It seems that birdc reads (from bird) and writes (to stdout)
everything but during execution of some readline code some already
written output disappeared (although it is fflush()ed and
tcdrain()ed).

As birdc reads from stdin when select said there are some data,
O_NONBLOCK for stdin is unnecessary and when it is removed,
i didn't notified this problem.

client/client.c

index 905526a47ad59959d098e1b85a2e066b4cd40268..ce9bdb64ea0b5b2e1fe6274150e069488dd4b23a 100644 (file)
@@ -201,8 +201,9 @@ input_init(void)
   rl_add_defun("bird-help", input_help, '?');
   rl_callback_handler_install("bird> ", got_line);
   input_initialized = 1;
-  if (fcntl(0, F_SETFL, O_NONBLOCK) < 0)
-    die("fcntl: %m");
+//  readline library does strange things when stdin is nonblocking.
+//  if (fcntl(0, F_SETFL, O_NONBLOCK) < 0)
+//    die("fcntl: %m");
 }
 
 static void