]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd_io.cpp
Replacement of bzero with memset for solaris 10 compat.
[user/henk/code/inspircd.git] / src / inspircd_io.cpp
index 83c302d90f9c4af5c5795c400699fe7971520892..62d1453613c8fdbeb1e424782eeed52534cc2079 100644 (file)
@@ -14,6 +14,8 @@
  * ---------------------------------------------------
  */
 
+using namespace std;
+
 #include <sys/time.h>
 #include <sys/resource.h>
 #include <sys/types.h>
 #include "inspircd_io.h"
 #include "inspircd_util.h"
 #include "inspstring.h"
-
-using namespace std;
+#include "helperfuncs.h"
 
 extern FILE *log_file;
 extern int boundPortCount;
 extern int openSockfd[MAXSOCKS];
 extern time_t TIME;
 extern bool unlimitcore;
+extern int MaxConn;
 
 void WriteOpers(char* text, ...);
 
@@ -87,22 +89,15 @@ void WritePID(std::string filename)
        }
 }
 
-void DeadPipe(int status)
-{
-  signal (SIGPIPE, DeadPipe);
-}
 
 int DaemonSeed (void)
 {
        int childpid;
        signal (SIGALRM, SIG_IGN);
        signal (SIGHUP, Rehash);
-       signal (SIGPIPE, DeadPipe);
+       signal (SIGPIPE, SIG_IGN);
        signal (SIGTERM, Exit);
-       signal (SIGABRT, Exit);
        signal (SIGSEGV, Error);
-       signal (SIGURG, Exit);
-       signal (SIGKILL, Exit);
        if ((childpid = fork ()) < 0)
                return (ERROR);
        else if (childpid > 0)
@@ -512,7 +507,7 @@ int ReadConf(std::stringstream *config, const char* tag, const char* var, int in
 
        const char* buf = config->str().c_str();
        long bptr = 0;
-       long len = strlen(buf);
+       long len = config->str().length();
        
        ptr = 0;
        in_token = 0;
@@ -624,7 +619,7 @@ int ConfValue(char* tag, char* var, int index, char *result,std::stringstream *c
 // This will bind a socket to a port. It works for UDP/TCP
 int BindSocket (int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char* addr)
 {
-       bzero((char *)&server,sizeof(server));
+       memset((char *)&server,0,sizeof(server));
        struct in_addr addy;
        inet_aton(addr,&addy);
        server.sin_family = AF_INET;
@@ -643,7 +638,7 @@ int BindSocket (int sockfd, struct sockaddr_in client, struct sockaddr_in server
        }
        else
        {
-               listen(sockfd,5);
+               listen(sockfd, MaxConn);
                return(TRUE);
        }
 }