if (listenfd == -1)
{
perror ("Failed opening socket");
+ return -1;
}
int rv =
if (rv < 0)
{
perror ("Failed setsockopt");
+ close (listenfd);
+ return -1;
}
- memset (&serveraddr, 0, sizeof (serveraddr));
+ clib_memset (&serveraddr, 0, sizeof (serveraddr));
serveraddr.sin6_family = AF_INET6;
serveraddr.sin6_port = htons (port);
serveraddr.sin6_addr = in6addr_any;
if (bind (listenfd, (struct sockaddr *) &serveraddr, addrlen) < 0)
{
fprintf (stderr, "bind() error %s\n", strerror (errno));
+ close (listenfd);
return -1;
}
if (listen (listenfd, 1000000) != 0)
{
fprintf (stderr, "listen() error for %s\n", strerror (errno));
+ close (listenfd);
return -1;
}
return listenfd;
}
stat_segment_disconnect ();
+ close (fd);
exit (0);
}