diff options
| author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2001-09-24 15:51:26 +0000 |
|---|---|---|
| committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2001-09-24 15:51:26 +0000 |
| commit | 4053d52a4ee935f278f34289fc73f2e2ad58c41b (patch) | |
| tree | 9366792da0c9658b2936e0b832d6066f36bda167 /src | |
| parent | 6929735d6320f4efa60b3d1c5f831f41b499f3d7 (diff) | |
| download | zabbix-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.c | 6 | ||||
| -rw-r--r-- | src/zabbix_trapper/zabbix_trapperd.c | 36 |
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; |
