mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-12 14:06:36 +00:00
Check for errors on close(2) too. And lseek(2).
llvm-svn: 75793
This commit is contained in:
parent
60616fdb0b
commit
d9404ff779
@ -279,7 +279,8 @@ raw_fd_ostream::~raw_fd_ostream() {
|
||||
if (FD >= 0) {
|
||||
flush();
|
||||
if (ShouldClose)
|
||||
::close(FD);
|
||||
if (::close(FD) != 0)
|
||||
llvm_report_error("IO failure closing output stream.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -294,13 +295,16 @@ void raw_fd_ostream::close() {
|
||||
assert (ShouldClose);
|
||||
ShouldClose = false;
|
||||
flush();
|
||||
::close(FD);
|
||||
if (::close(FD) != 0)
|
||||
llvm_report_error("IO failure closing output stream.");
|
||||
FD = -1;
|
||||
}
|
||||
|
||||
uint64_t raw_fd_ostream::seek(uint64_t off) {
|
||||
flush();
|
||||
pos = ::lseek(FD, off, SEEK_SET);
|
||||
if (pos != off)
|
||||
llvm_report_error("IO failure seeking on output stream.");
|
||||
return pos;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user