summaryrefslogtreecommitdiffstats
path: root/luni/src/main/java/java/io/FileDescriptor.java
diff options
context:
space:
mode:
Diffstat (limited to 'luni/src/main/java/java/io/FileDescriptor.java')
-rw-r--r--luni/src/main/java/java/io/FileDescriptor.java6
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);