summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2001-09-24 15:51:26 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2001-09-24 15:51:26 +0000
commit4053d52a4ee935f278f34289fc73f2e2ad58c41b (patch)
tree9366792da0c9658b2936e0b832d6066f36bda167 /src
parent6929735d6320f4efa60b3d1c5f831f41b499f3d7 (diff)
downloadzabbix-4053d52a4ee935f278f34289fc73f2e2ad58c41b.tar.gz
zabbix-4053d52a4ee935f278f34289fc73f2e2ad58c41b.tar.xz
zabbix-4053d52a4ee935f278f34289fc73f2e2ad58c41b.zip
- simplified tcp_listen procedure in zabbix_trapperd.c
git-svn-id: svn://svn.zabbix.com/trunk@214 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
-rw-r--r--src/zabbix_agent/zabbix_agentd.c6
-rw-r--r--src/zabbix_trapper/zabbix_trapperd.c36
2 files changed, 40 insertions, 2 deletions
diff --git a/src/zabbix_agent/zabbix_agentd.c b/src/zabbix_agent/zabbix_agentd.c
index 0498f5d4..4dbad64b 100644
--- a/src/zabbix_agent/zabbix_agentd.c
+++ b/src/zabbix_agent/zabbix_agentd.c
@@ -166,7 +166,11 @@ int tcp_listen(const char *host, const char *serv, socklen_t *addrlenp)
exit(1);
}
- listen(sockfd, LISTENQ);
+ if(listen(sockfd, LISTENQ) != 0)
+ {
+ syslog( LOG_CRIT, "listen()");
+ exit(1);
+ }
*addrlenp = sizeof(serv_addr);
diff --git a/src/zabbix_trapper/zabbix_trapperd.c b/src/zabbix_trapper/zabbix_trapperd.c
index 2c8140a6..ae5c936b 100644
--- a/src/zabbix_trapper/zabbix_trapperd.c
+++ b/src/zabbix_trapper/zabbix_trapperd.c
@@ -149,6 +149,40 @@ void process_child(int sockfd)
int tcp_listen(const char *host, const char *serv, socklen_t *addrlenp)
{
+ int sockfd;
+ struct sockaddr_in serv_addr;
+
+ if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
+ {
+ syslog( LOG_CRIT, "socket()");
+ exit(1);
+ }
+
+ bzero((char *) &serv_addr, sizeof(serv_addr));
+ serv_addr.sin_family = AF_INET;
+ serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
+ serv_addr.sin_port = htons(10001);
+
+ if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)
+ {
+ syslog( LOG_CRIT, "bind()");
+ exit(1);
+ }
+
+ if(listen(sockfd, LISTENQ) !=0 )
+ {
+ syslog( LOG_CRIT, "listen()");
+ exit(1);
+ }
+
+ *addrlenp = sizeof(serv_addr);
+
+ return sockfd;
+}
+
+/*
+int tcp_listen(const char *host, const char *serv, socklen_t *addrlenp)
+{
int listenfd, n;
const int on=1;
struct addrinfo hints, *res, *ressave;
@@ -199,7 +233,7 @@ int tcp_listen(const char *host, const char *serv, socklen_t *addrlenp)
return (listenfd);
}
-
+*/
void child_main(int i,int listenfd, int addrlen)
{
int connfd;