]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/restart.c
SVN Id removal part two
[irc/rqf/shadowircd.git] / src / restart.c
index bcfeebfa6167f8221a519a9807efaca435df0e0a..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 3354 2007-04-03 09:21:31Z 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;
@@ -55,11 +53,12 @@ void
 server_reboot(void)
 {
        int i;
-       int maxconn = rb_get_maxconnections();
+       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 
@@ -70,11 +69,15 @@ server_reboot(void)
         * 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 < maxconn; ++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);
 }