]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/restart.c
Removal of ancient SVN ID's part one
[irc/rqf/shadowircd.git] / src / restart.c
index 4ccfb76a5a13af2306504ceab5a12b672bc53f08..d3e3a585e8857f454944d25b03bd402ba9c29c18 100644 (file)
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
  *  USA
  *
- *  $Id: restart.c 486 2006-01-15 10:36:32Z nenolod $
  */
 
 #include "stdinc.h"
-#include "tools.h"
 #include "restart.h"
-#include "common.h"
 #include "ircd.h"
 #include "send.h"
-#include "s_log.h"
-#include "client.h"            /* for FLAGS_ALL */
-#include "memory.h"
+#include "logger.h"
+#include "s_conf.h"
+#include "client.h"            
+#include "ircd_signal.h"
 
 /* external var */
 extern char **myargv;
@@ -46,7 +44,7 @@ restart(const char *mesg)
                abort();
        was_here = YES;
 
-       ilog(L_MAIN, "Restarting Server because: %s, memory data limit: %ld", mesg, get_maxrss());
+       ilog(L_MAIN, "Restarting Server because: %s", mesg);
 
        server_reboot();
 }
@@ -55,25 +53,31 @@ void
 server_reboot(void)
 {
        int i;
+       char path[PATH_MAX+1];
 
        sendto_realops_snomask(SNO_GENERAL, L_ALL, "Restarting server...");
 
        ilog(L_MAIN, "Restarting server...");
+       
        /*
         * XXX we used to call flush_connections() here. But since this routine
         * doesn't exist anymore, we won't be flushing. This is ok, since 
-        * when close handlers come into existance, comm_close() will be called
+        * when close handlers come into existance, rb_close() will be called
         * below, and the data flushing will be implicit.
         *    -- adrian
         *
         * bah, for now, the program ain't coming back to here, so forcibly
         * close everything the "wrong" way for now, and just LEAVE...
         */
-       for (i = 0; i < MAXCONNECTIONS; ++i)
+       for (i = 0; i < maxconnections; ++i)
                close(i);
 
        unlink(pidFileName);
-       execv(SPATH, myargv);
+       execv(SPATH, (void *)myargv);
 
+       /* use this if execv of SPATH fails */
+       rb_snprintf(path, sizeof(path), "%s/bin/ircd", ConfigFileEntry.dpath);
+
+       execv(path, (void *)myargv);
        exit(-1);
 }