summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.inspircd.inc25
1 files changed, 25 insertions, 0 deletions
diff --git a/.inspircd.inc b/.inspircd.inc
index f419d4b8a..6181d66ec 100644
--- a/.inspircd.inc
+++ b/.inspircd.inc
@@ -316,10 +316,23 @@ sub getpidfile
{
# Set the PID file and return.
$pidfile = $1;
+ if (-f $pidfile)
+ {
+ return;
+ }
+ else
+ {
+ if (-f $confpath . $pidfile)
+ {
+ $pidfile = $confpath . $pidfile;
+ return;
+ }
+ }
return;
}
}
+
# If we get here, NO PID FILE! -- Check for includes
for my $i (@lines) {
$i =~ s/[^=]+=\s(.*)/\1/;
@@ -328,6 +341,18 @@ sub getpidfile
# Decend into that file, and check for PIDs.. (that sounds like an STD ;/)
getpidfile($1);
# Was a PID found?
+ if (-f $pidfile)
+ {
+ return;
+ }
+ else
+ {
+ if (-f $confpath . $pidfile)
+ {
+ $pidfile = $confpath . $pidfile;
+ return;
+ }
+ }
if ($pidfile ne "") {
# Yes, Return.
return;