summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-21 13:22:15 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-21 13:22:15 +0000
commit3f839fc4ed8652014ef2c377ebe36f4ccd065108 (patch)
tree32e6878c832fe0bfb6c02f9cf1bd3c2be5daae29
parent2eafeefbb1d2f96a5c59874a93d22cd6721ecde4 (diff)
Fixed to allow debugging
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1151 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--.inspircd.inc17
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.