]> 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 eb564e5555bb53c1fa2303b035cabf309e58537f..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)
@@ -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);
        }
 }