listen: use GLib instead of utils.h
This commit is contained in:
parent
30f75f7f01
commit
8ebb3196a8
25
src/listen.c
25
src/listen.c
@ -26,6 +26,9 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
@ -89,8 +92,8 @@ static int establishListen(int pf, const struct sockaddr *addrp,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
numberOfListenSockets++;
|
numberOfListenSockets++;
|
||||||
listenSockets =
|
listenSockets = g_realloc(listenSockets, sizeof(listenSockets[0]) *
|
||||||
xrealloc(listenSockets, sizeof(int) * numberOfListenSockets);
|
numberOfListenSockets);
|
||||||
|
|
||||||
listenSockets[numberOfListenSockets - 1] = sock;
|
listenSockets[numberOfListenSockets - 1] = sock;
|
||||||
|
|
||||||
@ -102,6 +105,20 @@ static int establishListen(int pf, const struct sockaddr *addrp,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool ipv6Supported(void)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_IPV6
|
||||||
|
int s;
|
||||||
|
s = socket(AF_INET6, SOCK_STREAM, 0);
|
||||||
|
if (s == -1)
|
||||||
|
return false;
|
||||||
|
close(s);
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
parseListenConfigParam(G_GNUC_UNUSED unsigned int port, ConfigParam * param)
|
parseListenConfigParam(G_GNUC_UNUSED unsigned int port, ConfigParam * param)
|
||||||
{
|
{
|
||||||
@ -190,7 +207,7 @@ parseListenConfigParam(G_GNUC_UNUSED unsigned int port, ConfigParam * param)
|
|||||||
hints.ai_socktype = SOCK_STREAM;
|
hints.ai_socktype = SOCK_STREAM;
|
||||||
hints.ai_protocol = IPPROTO_TCP;
|
hints.ai_protocol = IPPROTO_TCP;
|
||||||
|
|
||||||
snprintf(service, sizeof(service), "%u", port);
|
g_snprintf(service, sizeof(service), "%u", port);
|
||||||
|
|
||||||
ret = getaddrinfo(param->value, service, &hints, &ai);
|
ret = getaddrinfo(param->value, service, &hints, &ai);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
@ -262,7 +279,7 @@ void closeAllListenSockets(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
numberOfListenSockets = 0;
|
numberOfListenSockets = 0;
|
||||||
free(listenSockets);
|
g_free(listenSockets);
|
||||||
listenSockets = NULL;
|
listenSockets = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
14
src/utils.c
14
src/utils.c
@ -61,20 +61,6 @@ void my_usleep(long usec)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int ipv6Supported(void)
|
|
||||||
{
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
int s;
|
|
||||||
s = socket(AF_INET6, SOCK_STREAM, 0);
|
|
||||||
if (s == -1)
|
|
||||||
return 0;
|
|
||||||
close(s);
|
|
||||||
return 1;
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
G_GNUC_MALLOC char *xstrdup(const char *s)
|
G_GNUC_MALLOC char *xstrdup(const char *s)
|
||||||
{
|
{
|
||||||
char *ret = strdup(s);
|
char *ret = strdup(s);
|
||||||
|
@ -40,8 +40,6 @@ void stripReturnChar(char *string);
|
|||||||
|
|
||||||
void my_usleep(long usec);
|
void my_usleep(long usec);
|
||||||
|
|
||||||
int ipv6Supported(void);
|
|
||||||
|
|
||||||
/* trivial functions, keep them inlined */
|
/* trivial functions, keep them inlined */
|
||||||
static inline void xclose(int fd)
|
static inline void xclose(int fd)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user