diff options
Diffstat (limited to 'luni/src/main/java/java/io/FileDescriptor.java')
-rw-r--r-- | luni/src/main/java/java/io/FileDescriptor.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/luni/src/main/java/java/io/FileDescriptor.java b/luni/src/main/java/java/io/FileDescriptor.java index f04ae2c..e4eb06c 100644 --- a/luni/src/main/java/java/io/FileDescriptor.java +++ b/luni/src/main/java/java/io/FileDescriptor.java @@ -68,7 +68,11 @@ public final class FileDescriptor { */ public void sync() throws SyncFailedException { try { - Libcore.os.fsync(this); + if (Libcore.os.isatty(this)) { + Libcore.os.tcdrain(this); + } else { + Libcore.os.fsync(this); + } } catch (ErrnoException errnoException) { SyncFailedException sfe = new SyncFailedException(errnoException.getMessage()); sfe.initCause(errnoException); |