summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
index ce539dabfac1..fcdf3cf6f857 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
@@ -960,10 +960,11 @@ public final class ContentCaptureManagerService extends
mClientAdapter.write(sourceIn);
serviceAdapter.start(sinkOut);
- // File descriptor received by the client app will be a copy of the current one. Close
- // the one that belongs to the system server, so there's only 1 open left for the
- // current pipe.
- bestEffortCloseFileDescriptor(sourceIn);
+ // File descriptors received by remote apps will be copies of the current one. Close
+ // the ones that belong to the system server, so there's only 1 open left for the
+ // current pipe. Therefore when remote parties decide to close them - all descriptors
+ // pointing to the pipe will be closed.
+ bestEffortCloseFileDescriptors(sourceIn, sinkOut);
mParentService.mDataShareExecutor.execute(() -> {
try (InputStream fis =