Flush writes to stdout, stderr
authorMichael Meissner <gnu@the-meissners.org>
Wed, 26 Nov 1997 21:52:16 +0000 (21:52 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Wed, 26 Nov 1997 21:52:16 +0000 (21:52 +0000)
sim/common/ChangeLog
sim/common/syscall.c

index 3180610a2b17590aee67df5c7c36d19e8513bf28..1afc9b9bf0d355af9907eabf7cf8b651b7ee51e9 100644 (file)
@@ -1,3 +1,8 @@
+Wed Nov 26 16:49:38 1997  Michael Meissner  <meissner@cygnus.com>
+
+       * syscall.c (cb_syscall): If writing to stdout or stderr, flush
+       the stream immediately.
+
 Wed Nov 26 12:32:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * sim-io.c (sim_io_getstring): Delete unused len2.
index a1031d936edaccdc7f48c51778100fac324108c0..b73cd99b3934fdb995a66e23ae36699e67cc6bb0 100644 (file)
@@ -318,9 +318,15 @@ cb_syscall (cb, sc)
                goto FinishSyscall;
              }
            if (fd == 1)
-             result = (int) (*cb->write_stdout) (cb, buf, bytes_read);
+             {
+               result = (int) (*cb->write_stdout) (cb, buf, bytes_read);
+               (*cb->flush_stdout) (cb);
+             }
            if (fd == 2)
-             result = (int) (*cb->write_stderr) (cb, buf, bytes_read);
+             {
+               result = (int) (*cb->write_stderr) (cb, buf, bytes_read);
+               (*cb->flush_stderr) (cb);
+             }
            else
              result = (int) (*cb->write) (cb, fd, buf, bytes_read);
            if (result == -1)