diff options
| author | Maxime Coste <mawww@kakoune.org> | 2020-10-19 20:39:25 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2020-10-19 20:39:25 +1100 |
| commit | 2cd323b314e9f2b2cdf11bbf2974e9390914d5ea (patch) | |
| tree | cf698d814f131d9e9e5de22186c8671a6a0fe27d /src/main.cc | |
| parent | 97e88b60878133bea4b2c3920e5176da97483c12 (diff) | |
Allow quiting last client with unsaved buffer in daemon mode
Because the server will out-live that client's disconnection it
is still ok to have modified buffers, the server will complain
on `kill`.
Fixes #3801
Diffstat (limited to 'src/main.cc')
| -rw-r--r-- | src/main.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main.cc b/src/main.cc index af3d68ba..a65424ad 100644 --- a/src/main.cc +++ b/src/main.cc @@ -740,7 +740,8 @@ int run_server(StringView session, StringView server_init, } EventManager event_manager; - Server server{session.empty() ? to_string(getpid()) : session.str()}; + Server server{session.empty() ? to_string(getpid()) : session.str(), + (bool)(flags & ServerFlags::Daemon)}; StringRegistry string_registry; GlobalScope global_scope; @@ -832,7 +833,7 @@ int run_server(StringView session, StringView server_init, try { - if (not (flags & ServerFlags::Daemon)) + if (not server.is_daemon()) { local_client = client_manager.create_client( create_local_ui(ui_type), getpid(), {}, get_env_vars(), client_init, std::move(init_coord), @@ -849,8 +850,7 @@ int run_server(StringView session, StringView server_init, } while (not terminate and - (not client_manager.empty() or server.negotiating() or - (flags & ServerFlags::Daemon))) + (not client_manager.empty() or server.negotiating() or server.is_daemon())) { client_manager.redraw_clients(); |
