summaryrefslogtreecommitdiff
path: root/make/template/inspircd
diff options
context:
space:
mode:
Diffstat (limited to 'make/template/inspircd')
-rw-r--r--make/template/inspircd11
1 files changed, 9 insertions, 2 deletions
diff --git a/make/template/inspircd b/make/template/inspircd
index d0978ee29..4f352ddaf 100644
--- a/make/template/inspircd
+++ b/make/template/inspircd
@@ -59,6 +59,13 @@ my $executable = "inspircd";
my $version = "@VERSION_FULL@";
my $uid = "@UID@";
+my @gdbargs = (
+ '--eval-command', 'handle SIGPIPE pass nostop noprint',
+ '--eval-command', 'handle SIGHUP pass nostop noprint',
+ '--eval-command', 'run',
+ '--args', "$binpath/$executable", qw(--nofork --nolog --debug)
+);
+
sub expand_fragment($$) {
my ($base, $fragment) = @_;
if ($fragment =~ /^\//) {
@@ -213,7 +220,7 @@ sub dev_debug(@)
checkgdb();
# If we are still alive here.. Try starting the IRCd..
- exec 'gdb', "--command=$scriptpath/.gdbargs", '--args', "$binpath/$executable", qw(--nofork --debug), @_;
+ exec 'gdb', @gdbargs, @_;
die "Failed to start GDB: $!\n";
}
@@ -232,7 +239,7 @@ sub dev_screendebug(@)
# If we are still alive here.. Try starting the IRCd..
print "Starting InspIRCd in `screen`, type `screen -r` when the ircd crashes to view the gdb output and get a backtrace.\n";
print "Once you're inside the screen session press ^C + d to re-detach from the session\n";
- exec qw(screen -m -d gdb), "--command=$scriptpath/.gdbargs", '-args', "$binpath/$executable", qw(--nofork --debug --nolog), @_;
+ exec qw(screen -m -d gdb), @gdbargs, @_;
die "Failed to start screen: $!\n";
}