Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit caf6497b authored by Neil Fuller's avatar Neil Fuller Committed by Android Git Automerger
Browse files

am 683cf1bf: Merge "Changes to support asynchronous close interruption"

* commit '683cf1bf':
  Changes to support asynchronous close interruption
parents cf5c3fc7 683cf1bf
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.net.DatagramSocket;
import java.net.Socket;
import java.nio.ByteOrder;
@@ -698,6 +699,9 @@ public class ParcelFileDescriptor implements Parcelable, Closeable {
            } catch (ErrnoException e) {
                // Reporting status is best-effort
                Log.w(TAG, "Failed to report status: " + e);
            } catch (InterruptedIOException e) {
                // Reporting status is best-effort
                Log.w(TAG, "Failed to report status: " + e);
            }

        } finally {
@@ -728,6 +732,9 @@ public class ParcelFileDescriptor implements Parcelable, Closeable {
                Log.d(TAG, "Failed to read status; assuming dead: " + e);
                return new Status(Status.DEAD);
            }
        } catch (InterruptedIOException e) {
            Log.d(TAG, "Failed to read status; assuming dead: " + e);
            return new Status(Status.DEAD);
        }
    }

+2 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import static libcore.io.OsConstants.*;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileDescriptor;
import java.io.InterruptedIOException;
import java.net.InetSocketAddress;
import java.net.InetUnixAddress;

@@ -178,7 +179,7 @@ final class NativeCrashListener extends Thread {
    }

    static int readExactly(FileDescriptor fd, byte[] buffer, int offset, int numBytes)
            throws ErrnoException {
            throws ErrnoException, InterruptedIOException {
        int totalRead = 0;
        while (numBytes > 0) {
            int n = Libcore.os.read(fd, buffer, offset + totalRead, numBytes);