summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--src/Root.cpp13
-rw-r--r--src/main.cpp3
3 files changed, 7 insertions, 11 deletions
diff --git a/README.md b/README.md
index 27a510e3b..acaa1ad33 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ This Linux script will download the correct binary from the project site.
sh -c "$(wget -O - https://raw.githubusercontent.com/cuberite/cuberite/master/easyinstall.sh)"
#### Compiling
- - You can compile automatically for Linux with the `compile.sh` script. The script is described below.
+ - You can compile automatically for Linux / *nix with the `compile.sh` script. The script is described below.
- You can also compile manually. See [COMPILING.md](https://github.com/cuberite/cuberite/blob/master/COMPILING.md).
Compiling may provide better performance performance (1.5-3x as fast) and it supports more operating systems.
diff --git a/src/Root.cpp b/src/Root.cpp
index 71d5875a6..2465cdfd4 100644
--- a/src/Root.cpp
+++ b/src/Root.cpp
@@ -92,7 +92,8 @@ void cRoot::InputThread(cRoot & a_Params)
}
// We have come here because the std::cin has received an EOF / a terminate signal has been sent, and the server is still running
- if (!std::cin.good())
+ // Ignore this when running as a service, cin was never opened in that case
+ if (!std::cin.good() && !m_RunAsService)
{
// Stop the server:
a_Params.QueueExecuteConsoleCommand("stop");
@@ -232,15 +233,7 @@ void cRoot::Start(std::unique_ptr<cSettingsRepositoryInterface> a_OverridesRepo)
{
m_StopEvent.Wait();
- if (m_TerminateEventRaised && m_RunAsService)
- {
- // Dont kill if running as a service
- m_TerminateEventRaised = false;
- }
- else
- {
- break;
- }
+ break;
}
// Stop the server:
diff --git a/src/main.cpp b/src/main.cpp
index 06f979097..1b77e2480 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -495,6 +495,9 @@ int main(int argc, char ** argv)
}
#endif
+ // Make sure m_RunAsService is set correctly before checking it's value
+ ParseArguments(argc, argv);
+
// Attempt to run as a service
if (cRoot::m_RunAsService)
{