Ladybird: Quit SQLServer when its connected client exits

When Ladybird exits, SQLServer can get stuck spinning at 100% CPU after
the socket connection is closed. This changes the client to quit the
event loop when that disconnect happens to ensure that SQLServer is
properly destroyed.
This commit is contained in:
Timothy Flynn 2022-12-09 15:17:52 -05:00 committed by Andrew Kaster
parent e54932ee73
commit 1dd14e1324
Notes: sideshowbarker 2024-07-17 02:38:12 +09:00

View file

@ -36,6 +36,9 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto client = TRY(SQLServer::ConnectionFromClient::try_create(move(socket), 1));
client->set_fd_passing_socket(TRY(Core::Stream::LocalSocket::adopt_fd(sql_server_fd_passing_socket)));
client->set_database_path(move(database_path));
client->on_disconnect = [&]() {
loop.quit(0);
};
return loop.exec();
}