Return early
This commit is contained in:
@@ -40,20 +40,23 @@ void HttpServer::UpdateDatabaseInstanceIfRunning(
|
||||
void HttpServer::UpdateDatabaseInstance(
|
||||
shared_ptr<DatabaseInstance> context_db) {
|
||||
const auto current_db = server_instance->LockDatabaseInstance();
|
||||
if (current_db != context_db) {
|
||||
auto watcher_stopped = false;
|
||||
if (server_instance->watcher) {
|
||||
if (current_db == context_db) {
|
||||
return;
|
||||
}
|
||||
|
||||
bool has_watcher = !!server_instance->watcher;
|
||||
if (has_watcher) {
|
||||
server_instance->watcher->Stop();
|
||||
server_instance->watcher = nullptr;
|
||||
watcher_stopped = true;
|
||||
}
|
||||
|
||||
server_instance->ddb_instance = context_db;
|
||||
if (watcher_stopped) {
|
||||
|
||||
if (has_watcher) {
|
||||
server_instance->watcher = make_uniq<Watcher>(*this);
|
||||
server_instance->watcher->Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool HttpServer::IsRunningOnMachine(ClientContext &context) {
|
||||
if (Started()) {
|
||||
@@ -200,6 +203,7 @@ void HttpServer::HandleGetLocalEvents(const httplib::Request &req,
|
||||
if (event_dispatcher->WaitEvent(&sink)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
sink.done();
|
||||
return false;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user