X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.inspircd.inc;h=5900ce9c6f77b50e9c7c265718941cf3d79cdecb;hb=f9055253d2e8a7612fced65c3f96a6f940111148;hp=78c75f32c4a8f3fe81df0776ba6a49c06ab6dacc;hpb=f56671a8a3d2287eeee8ad10c0423a5050b3f9ce;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/.inspircd.inc b/.inspircd.inc index 78c75f32c..5900ce9c6 100644 --- a/.inspircd.inc +++ b/.inspircd.inc @@ -15,14 +15,17 @@ # 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"; +my $binpath = "@BINARY_DIR@"; # Lets see what they want to do.. Set the variable (Cause i'm a lazy coder) 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) { @@ -79,28 +82,43 @@ sub start { # 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($binpath); + system("$binpath/inspircd"); sleep 1; if (getstatus() == 0) { print "InspIRCd Seemingly not started, Log follows:\n"; - system("tail ircd.log"); + system("tail $binpath/ircd.log"); } else { # We're good! return 1; } } +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/inspircd -nofork -debug"); +} + + sub stop { - if (getstatus() == 0) { print "InspIRCd is not running. (Or PID File not found)"; return 0; } + if (getstatus() == 0) { print "InspIRCd is not running. (Or PID File not found)\n"; return 0; } # Get to here, we have something to kill. my $pid = getprocessid(); + print "Stopping InspIRCd...\n"; system("kill -TERM $pid >/dev/null 2>&1"); + sleep 2; + if (getstatus() == 1) + { + print "InspIRCd not dying Quietly -- Forcing Kill\n"; + system("kill -9 $pid >/dev/null 2>&1"); + } print "InspIRCd Stopped.\n"; } sub getpidfile { - open INFILE, "< $conffile" or die "Couldn't open $conffile"; + open INFILE, "< $conffile" or die "Couldn't open $conffile\n"; my(@lines) = ; close INFILE; chomp(@lines);