X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.inspircd.inc;h=e86ad18d482fc067b9bb44375f540e7c357dac0f;hb=07e75b8e85952be80b7999f8b77c5bc52c53e6ea;hp=2cee69712f92ba32213866cef237debd8bd15913;hpb=907ee6a7d3798f9f8d500c7f139205b756235d38;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/.inspircd.inc b/.inspircd.inc index 2cee69712..e86ad18d4 100644 --- a/.inspircd.inc +++ b/.inspircd.inc @@ -15,6 +15,8 @@ # I HATE PERL.. kthxbye # --------------------------------------------------- +$ENV{"LD_LIBRARY_PATH"} = $ENV{"LD_LIBRARY_PATH"} . ":/usr/local/lib/mysql:/usr/lib/mysql"; + my $conffile = "@CONFIG_DIR@/inspircd.conf"; my $binpath = "@BINARY_DIR@/inspircd"; @@ -23,6 +25,7 @@ my $arg = $ARGV[0]; getpidfile(); if ($arg eq "start") { start(); exit(); } +if ($arg eq "debug") { debug(); exit(); } if ($arg eq "stop") { stop(); exit(); } if ($arg eq "status") { if (getstatus() == 1) { @@ -90,11 +93,27 @@ sub start { } } +sub debug { + # Check to see its not 'running' already. + if (getstatus() == 1) { print "InspIRCd is already running.\n"; return 0; } + # If we are still alive here.. Try starting the IRCd.. + system("gdb --args $binpath -nofork -debug"); + sleep 1; + if (getstatus() == 0) { + print "InspIRCd Seemingly not started, Log follows:\n"; + system("tail ircd.log"); + } else { + # We're good! + return 1; + } +} + + sub stop { if (getstatus() == 0) { print "InspIRCd is not running. (Or PID File not found)"; return 0; } # Get to here, we have something to kill. my $pid = getprocessid(); - print "Stopping InspIRCd...\n" + print "Stopping InspIRCd...\n"; system("kill -TERM $pid >/dev/null 2>&1"); sleep 2; if (getstatus() == 1)