diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-04-21 13:22:15 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-04-21 13:22:15 +0000 |
commit | 3f839fc4ed8652014ef2c377ebe36f4ccd065108 (patch) | |
tree | 32e6878c832fe0bfb6c02f9cf1bd3c2be5daae29 /.inspircd.inc | |
parent | 2eafeefbb1d2f96a5c59874a93d22cd6721ecde4 (diff) |
Fixed to allow debugging
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1151 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to '.inspircd.inc')
-rw-r--r-- | .inspircd.inc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/.inspircd.inc b/.inspircd.inc index e90bb3874..e86ad18d4 100644 --- a/.inspircd.inc +++ b/.inspircd.inc @@ -25,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) { @@ -92,6 +93,22 @@ 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. |