mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-15 20:33:10 +00:00
AK+ProtocolServer: Properly close download stream fd's
This makes the issue of running out of openable pipes in the ProtocolServer process much less likely (but still possible).
This commit is contained in:
parent
bdd4b99d72
commit
6422a04cda
|
@ -54,8 +54,9 @@ public:
|
||||||
~InputFileStream()
|
~InputFileStream()
|
||||||
{
|
{
|
||||||
if (m_file) {
|
if (m_file) {
|
||||||
|
fflush(m_file);
|
||||||
if (m_owned)
|
if (m_owned)
|
||||||
fflush(m_file);
|
fclose(m_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,9 @@ OwnPtr<Messages::ProtocolServer::StartDownloadResponse> ClientConnection::handle
|
||||||
auto id = download->id();
|
auto id = download->id();
|
||||||
auto fd = download->download_fd();
|
auto fd = download->download_fd();
|
||||||
m_downloads.set(id, move(download));
|
m_downloads.set(id, move(download));
|
||||||
return make<Messages::ProtocolServer::StartDownloadResponse>(id, fd);
|
auto response = make<Messages::ProtocolServer::StartDownloadResponse>(id, fd);
|
||||||
|
response->on_destruction = [fd] { close(fd); };
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
OwnPtr<Messages::ProtocolServer::StopDownloadResponse> ClientConnection::handle(const Messages::ProtocolServer::StopDownload& message)
|
OwnPtr<Messages::ProtocolServer::StopDownloadResponse> ClientConnection::handle(const Messages::ProtocolServer::StopDownload& message)
|
||||||
|
|
Loading…
Reference in a new issue