| 244 | } |
| 245 | |
| 246 | size_t File::fwrite(void* file, char const* data, size_t len) { |
| 247 | if (len == 0) |
| 248 | return 0; |
| 249 | |
| 250 | auto fd = fdFromHandle(file); |
| 251 | auto ret = ::write(fd, data, len); |
| 252 | if (ret < 0) { |
| 253 | if (errno == EAGAIN || errno == EINTR) |
| 254 | return 0; |
| 255 | throw IOException::format("Write error: {}", strerror(errno)); |
| 256 | } else { |
| 257 | return ret; |
| 258 | } |
| 259 | } |
| 260 | |
| 261 | void File::fsync(void* file) { |
| 262 | auto fd = fdFromHandle(file); |
nothing calls this directly
no test coverage detected