mirror of
https://github.com/jorisvink/kore
synced 2025-03-10 13:09:02 -04:00
Kill TCP_NODELAY warnings for socketpair() fds.
This commit is contained in:
parent
e9832b4416
commit
28e48727a5
@ -454,7 +454,7 @@ void kore_connection_init(void);
|
|||||||
void kore_connection_prune(int);
|
void kore_connection_prune(int);
|
||||||
struct connection *kore_connection_new(void *);
|
struct connection *kore_connection_new(void *);
|
||||||
void kore_connection_check_timeout(void);
|
void kore_connection_check_timeout(void);
|
||||||
int kore_connection_nonblock(int);
|
int kore_connection_nonblock(int, int);
|
||||||
int kore_connection_handle(struct connection *);
|
int kore_connection_handle(struct connection *);
|
||||||
void kore_connection_remove(struct connection *);
|
void kore_connection_remove(struct connection *);
|
||||||
void kore_connection_disconnect(struct connection *);
|
void kore_connection_disconnect(struct connection *);
|
||||||
|
@ -100,7 +100,7 @@ kore_connection_accept(struct listener *l, struct connection **out)
|
|||||||
return (KORE_RESULT_ERROR);
|
return (KORE_RESULT_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!kore_connection_nonblock(c->fd)) {
|
if (!kore_connection_nonblock(c->fd, 1)) {
|
||||||
close(c->fd);
|
close(c->fd);
|
||||||
kore_pool_put(&connection_pool, c);
|
kore_pool_put(&connection_pool, c);
|
||||||
return (KORE_RESULT_ERROR);
|
return (KORE_RESULT_ERROR);
|
||||||
@ -410,7 +410,7 @@ kore_connection_stop_idletimer(struct connection *c)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
kore_connection_nonblock(int fd)
|
kore_connection_nonblock(int fd, int nodelay)
|
||||||
{
|
{
|
||||||
int flags;
|
int flags;
|
||||||
|
|
||||||
@ -427,11 +427,13 @@ kore_connection_nonblock(int fd)
|
|||||||
return (KORE_RESULT_ERROR);
|
return (KORE_RESULT_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
flags = 1;
|
if (nodelay) {
|
||||||
if (setsockopt(fd, IPPROTO_TCP,
|
flags = 1;
|
||||||
TCP_NODELAY, (char *)&flags, sizeof(flags)) == -1) {
|
if (setsockopt(fd, IPPROTO_TCP,
|
||||||
kore_log(LOG_NOTICE,
|
TCP_NODELAY, (char *)&flags, sizeof(flags)) == -1) {
|
||||||
"failed to set TCP_NODELAY on %d", fd);
|
kore_log(LOG_NOTICE,
|
||||||
|
"failed to set TCP_NODELAY on %d", fd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (KORE_RESULT_OK);
|
return (KORE_RESULT_OK);
|
||||||
|
@ -258,7 +258,7 @@ kore_server_bind(const char *ip, const char *port)
|
|||||||
return (KORE_RESULT_ERROR);
|
return (KORE_RESULT_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!kore_connection_nonblock(l->fd)) {
|
if (!kore_connection_nonblock(l->fd, 1)) {
|
||||||
kore_mem_free(l);
|
kore_mem_free(l);
|
||||||
freeaddrinfo(results);
|
freeaddrinfo(results);
|
||||||
printf("failed to make socket non blocking: %s\n", errno_s);
|
printf("failed to make socket non blocking: %s\n", errno_s);
|
||||||
|
@ -127,8 +127,8 @@ kore_worker_spawn(u_int16_t id, u_int16_t cpu)
|
|||||||
if (socketpair(AF_UNIX, SOCK_STREAM, 0, kw->pipe) == -1)
|
if (socketpair(AF_UNIX, SOCK_STREAM, 0, kw->pipe) == -1)
|
||||||
fatal("socketpair(): %s", errno_s);
|
fatal("socketpair(): %s", errno_s);
|
||||||
|
|
||||||
if (!kore_connection_nonblock(kw->pipe[0]) ||
|
if (!kore_connection_nonblock(kw->pipe[0], 0) ||
|
||||||
!kore_connection_nonblock(kw->pipe[1]))
|
!kore_connection_nonblock(kw->pipe[1], 0))
|
||||||
fatal("could not set pipe fds to nonblocking: %s", errno_s);
|
fatal("could not set pipe fds to nonblocking: %s", errno_s);
|
||||||
|
|
||||||
kw->pid = fork();
|
kw->pid = fork();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user