diff options
-rw-r--r-- | services/core/java/com/android/server/clipboard/ClipboardService.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java index 6776f49b7d8f..d4eb104fa897 100644 --- a/services/core/java/com/android/server/clipboard/ClipboardService.java +++ b/services/core/java/com/android/server/clipboard/ClipboardService.java @@ -106,6 +106,17 @@ class HostClipboardMonitor implements Runnable { return false; } + private void closePipe() { + try { + final RandomAccessFile pipe = mPipe; + mPipe = null; + if (pipe != null) { + pipe.close(); + } + } catch (IOException ignore) { + } + } + public HostClipboardMonitor(HostClipboardCallback cb) { mHostClipboardCallback = cb; } @@ -127,10 +138,7 @@ class HostClipboardMonitor implements Runnable { mHostClipboardCallback.onHostClipboardUpdated( new String(receivedData)); } catch (IOException e) { - try { - mPipe.close(); - } catch (IOException ee) {} - mPipe = null; + closePipe(); } catch (InterruptedException e) {} } } |