summaryrefslogtreecommitdiff
path: root/payload_consumer/file_descriptor.cc
diff options
context:
space:
mode:
authorScott Lobdell <slobdell@google.com>2021-06-04 18:02:47 +0000
committerScott Lobdell <slobdell@google.com>2021-06-04 18:02:47 +0000
commit308f26179c8dba125b44d22160ba264cf17deed4 (patch)
treeeaf5efaa52859f5cc863de675b8436763e033c22 /payload_consumer/file_descriptor.cc
parentf79cb91b4218a68642c94a01defc0594e742b3f4 (diff)
parent0c4dd756622ddb0a48bfb0dd2b62761d8193d89a (diff)
Merge SP1A.210604.001
Change-Id: Ic0b06785e559f2b316762ba170d60370f83f7cf3
Diffstat (limited to 'payload_consumer/file_descriptor.cc')
-rw-r--r--payload_consumer/file_descriptor.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/payload_consumer/file_descriptor.cc b/payload_consumer/file_descriptor.cc
index 7c69c1b4..da76327c 100644
--- a/payload_consumer/file_descriptor.cc
+++ b/payload_consumer/file_descriptor.cc
@@ -139,7 +139,9 @@ bool EintrSafeFileDescriptor::Flush() {
}
bool EintrSafeFileDescriptor::Close() {
- CHECK_GE(fd_, 0);
+ if (fd_ < 0) {
+ return false;
+ }
// https://stackoverflow.com/questions/705454/does-linux-guarantee-the-contents-of-a-file-is-flushed-to-disc-after-close
// |close()| doesn't imply |fsync()|, we need to do it manually.
fsync(fd_);