diff options
author | Haru <haru@dotalux.com> | 2014-05-09 06:20:52 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2014-05-09 07:40:43 +0200 |
commit | 581ff22b9bad7567a27980df31636f0c75ba5fc2 (patch) | |
tree | 83aed2830b805ad154c91623ace99452620bce8b /src/common | |
parent | 84c1d0dd15553df0b2b61c028ea9aead381e7115 (diff) | |
download | hercules-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.c | 5 | ||||
-rw-r--r-- | src/common/core.h | 2 |
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 { |