Stream::~Stream()
{
if (data_fd != -1) {
- int ret;
- do {
- ret = close(data_fd);
- } while (ret == -1 && errno == EINTR);
- if (ret == -1) {
- log_perror("close");
- }
+ safe_close(data_fd);
}
}
// Create a new, empty data file.
data_fd = make_tempfile("");
+ if (data_fd == -1) {
+ exit(1);
+ }
backlog_size = new_size;
// Now cheat a bit by rewinding, and adding all the old data back.
bytes_received -= existing_data.size();
- add_data(existing_data.data(), existing_data.size());
+ add_data_raw(existing_data.data(), existing_data.size());
}
void Stream::put_client_to_sleep(Client *client)