+++ /dev/null
-#!/usr/bin/perl
-
-# infobot -- copyright kevin lenzo (c) 1997-infinity
-# no warrantee expressed or implied. terms as the
-# license for X11R6 when needed.
-
-use strict;
-use vars qw($infobot_base_dir $infobot_src_dir $infobot_misc_dir
- $infobot_pid $memusage %param
-);
-
-BEGIN {
- # set this to the absolute path if you need it; especially
- # if . is not in your path
-
- $infobot_base_dir = '.';
- $infobot_src_dir = "$infobot_base_dir/src";
- $infobot_misc_dir = "$infobot_base_dir/files";
- $infobot_pid = $$;
-
- require "$infobot_src_dir/logger.pl";
- require "$infobot_src_dir/core.pl";
- require "$infobot_src_dir/interface.pl";
- require "$infobot_src_dir/modules.pl";
-
- # load the configuration (params) file.
- &setupConfig();
-
- &showProc(); # to get the first value.
- &status("Initial memory usage: $memusage kB");
- &loadCoreModules();
- &loadDBModules();
- &loadFactoidsModules();
- &loadIRCModules();
-
- &status("Memory usage after loading modules: $memusage kB");
-}
-
-# prevent duplicate processes of the same bot
-&duperuncheck();
-
-# initialize everything
-&startup(); # first time initialization.
-&setup();
-
-if (!&IsParam("Interface") or $param{'Interface'} =~ /IRC/) {
- # launch the irc event loop
- &ircloop();
-} else {
- &cliloop();
-}
-
-exit 0; # just so you don't look farther down in this file :)
-
-# --- support routines
-
-# FIXME.
-# add arguments, basically '-h' and '--help', heh.
-#
-
-# added by the xk
-sub duperuncheck {
- my $pid = $$;
- my $file = $file{PID};
-
- if ( -f $file) {
- open(PIDFILE,$file) or die "error: cannot open $file.";
- my $thispid = <PIDFILE> || "NULL\n";
- close PIDFILE;
- chop $thispid;
-
- if ($thispid =~ /^\D$/) {
- &staus("warning: pidfile is invalid; wiping out.");
- } else {
- if ( -d "/proc/$thispid/") {
- &ERROR("bot is already running from this directory.");
- &ERROR("if this is incorrect, erase '*.pid'.");
- &ERROR("verify with 'ps -axu | grep $thispid'.");
- exit 1;
- } else {
- &status("warning: stale $file found; wiping.");
- }
- }
- }
-
- open(PIDFILE,">$file") or die "error: cannot write to $file.";
- print PIDFILE "$pid\n";
- close PIDFILE;
-
- return 0;
-}
-
-1;