summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2014-05-09 06:20:52 +0200
committerHaru <haru@dotalux.com>2014-05-09 07:40:43 +0200
commit581ff22b9bad7567a27980df31636f0c75ba5fc2 (patch)
tree83aed2830b805ad154c91623ace99452620bce8b /src/common
parent84c1d0dd15553df0b2b61c028ea9aead381e7115 (diff)
downloadhercules-581ff22b9bad7567a27980df31636f0c75ba5fc2.tar.gz
hercules-581ff22b9bad7567a27980df31636f0c75ba5fc2.tar.bz2
hercules-581ff22b9bad7567a27980df31636f0c75ba5fc2.tar.xz
hercules-581ff22b9bad7567a27980df31636f0c75ba5fc2.zip
Added support to return a different exit status to the OS.
- This can be easily used by plugins. - See an example at http://github.com/HerculesWS/StaffPlugins/Haru/script_mapquit Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/common')
-rw-r--r--src/common/core.c5
-rw-r--r--src/common/core.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/src/common/core.c b/src/common/core.c
index 798c832f0..49b272488 100644
--- a/src/common/core.c
+++ b/src/common/core.c
@@ -183,6 +183,7 @@ void core_defaults(void) {
* CORE : MAINROUTINE
*--------------------------------------*/
int main (int argc, char **argv) {
+ int retval = EXIT_SUCCESS;
{// initialize program arguments
char *p1 = SERVER_NAME = argv[0];
char *p2 = p1;
@@ -253,7 +254,7 @@ int main (int argc, char **argv) {
console->final();
- do_final();
+ retval = do_final();
HPM->final();
timer->final();
sockt->final();
@@ -265,5 +266,5 @@ int main (int argc, char **argv) {
iMalloc->final();
- return 0;
+ return retval;
}
diff --git a/src/common/core.h b/src/common/core.h
index 5c2f2c9a5..e9f7c5961 100644
--- a/src/common/core.h
+++ b/src/common/core.h
@@ -35,7 +35,7 @@ enum server_types SERVER_TYPE;
extern int do_init(int,char**);
extern void set_server_type(void);
extern void do_abort(void);
-extern void do_final(void);
+extern int do_final(void);
/// The main loop continues until runflag is CORE_ST_STOP
enum E_CORE_ST {