summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorsapier <Sapier at GMX dot net>2014-05-14 21:51:27 +0200
committersapier <Sapier at GMX dot net>2014-05-31 23:48:06 +0200
commit34904a0744ee08d387a67619a5e2c46ce4928c12 (patch)
tree1c62e83179138e77a013f29a4069a7ce2a58c4d0 /src/main.cpp
parentd76b8c6e7ca96b33b706ef42a8e301531c592fea (diff)
downloadminetest-34904a0744ee08d387a67619a5e2c46ce4928c12.tar.gz
minetest-34904a0744ee08d387a67619a5e2c46ce4928c12.tar.bz2
minetest-34904a0744ee08d387a67619a5e2c46ce4928c12.zip
Add daemon support for linux like operating systems
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 0531a8540..43284611f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -811,6 +811,9 @@ int main(int argc, char *argv[])
_("Set password"))));
allowed_options.insert(std::make_pair("go", ValueSpec(VALUETYPE_FLAG,
_("Disable main menu"))));
+#else
+ allowed_options.insert(std::make_pair("daemon", ValueSpec(VALUETYPE_FLAG,
+ _("Daemonize minetestserver"))));
#endif
Settings cmd_args;
@@ -918,6 +921,12 @@ int main(int argc, char *argv[])
<<", "<<minetest_build_info
<<std::endl;
+#ifdef SERVER
+ if (cmd_args.exists("daemon")) {
+ porting::daemonize();
+ }
+#endif
+
/*
Basic initialization
*/
@@ -1469,7 +1478,7 @@ int main(int argc, char *argv[])
ELL_ERROR,
ELL_WARNING,
ELL_INFORMATION,
-#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
+#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
ELL_INFORMATION
#else
ELL_DEBUG
@@ -1920,6 +1929,14 @@ int main(int argc, char *argv[])
debugstreams_deinit();
+
+#ifdef SERVER
+ if (cmd_args.exists("daemon"))
+ {
+ porting::cleanup_pid();
+ }
+#endif
+
return retval;
}