More logs in server.c (socket creation)

master
Nicolas Favre-Felix 12 years ago
parent 54df3f3b7f
commit df73255068

@ -11,6 +11,7 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
@ -19,7 +20,7 @@
* Sets up a non-blocking socket
*/
static int
socket_setup(const char *ip, short port) {
socket_setup(struct server *s, const char *ip, short port) {
int reuse = 1;
struct sockaddr_in addr;
@ -39,35 +40,35 @@ socket_setup(const char *ip, short port) {
/* create socket */
fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (-1 == fd) {
/*syslog(LOG_ERR, "Socket error: %m\n");*/
slog(s, WEBDIS_ERROR, strerror(errno), 0);
return -1;
}
/* reuse address if we've bound to it before. */
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &reuse,
sizeof(reuse)) < 0) {
/* syslog(LOG_ERR, "setsockopt error: %m\n"); */
slog(s, WEBDIS_ERROR, strerror(errno), 0);
return -1;
}
/* set socket as non-blocking. */
ret = fcntl(fd, F_SETFD, O_NONBLOCK);
if (0 != ret) {
/* syslog(LOG_ERR, "fcntl error: %m\n"); */
slog(s, WEBDIS_ERROR, strerror(errno), 0);
return -1;
}
/* bind */
ret = bind(fd, (struct sockaddr*)&addr, sizeof(addr));
if (0 != ret) {
/* syslog(LOG_ERR, "Bind error: %m\n"); */
slog(s, WEBDIS_ERROR, strerror(errno), 0);
return -1;
}
/* listen */
ret = listen(fd, SOMAXCONN);
if (0 != ret) {
/* syslog(LOG_DEBUG, "Listen error: %m\n"); */
slog(s, WEBDIS_ERROR, strerror(errno), 0);
return -1;
}
@ -175,7 +176,7 @@ server_start(struct server *s) {
}
/* create socket */
s->fd = socket_setup(s->cfg->http_host, s->cfg->http_port);
s->fd = socket_setup(s, s->cfg->http_host, s->cfg->http_port);
if(s->fd < 0) {
return -1;
}

Loading…
Cancel
Save