Enables reusable port for sockets

This commit is contained in:
James Roberts
2021-08-22 15:57:18 +02:00
parent c9fca0081a
commit 8fd476e198
4 changed files with 9 additions and 8 deletions

View File

@@ -96,5 +96,4 @@ void configure_parser_settings() {
parser_settings.on_header_value = on_header_value;
parser_settings.on_message_begin = on_message_begin;
parser_settings.on_message_complete = on_message_complete;
}
}

View File

@@ -11,9 +11,3 @@ PyObject* current_header;
llhttp_settings_t parser_settings;
void configure_parser_settings();
int on_message_begin(llhttp_t* parser);
int on_url(llhttp_t* parser, const char* url, size_t length);
int on_body(llhttp_t* parser, const char* body, size_t length);
int on_header_field(llhttp_t* parser, const char* header, size_t length);
int on_header_value(llhttp_t* parser, const char* value, size_t length);
int on_message_complete(llhttp_t* parser);

View File

@@ -86,6 +86,13 @@ int main() {
uv_ip4_addr(host, port, &addr);
uv_tcp_init_ex(loop, &server, AF_INET);
uv_fileno((const uv_handle_t*)&server, &fd);
int enabled = 1;
setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &enabled, sizeof(&enabled));
int r = uv_tcp_bind(&server, (const struct sockaddr*)&addr, 0);
if (r) {
fprintf(stderr, "Bind error %s\n", uv_strerror(r));

View File

@@ -10,6 +10,7 @@ int backlog;
uv_tcp_t server;
uv_buf_t response_buf;
uv_loop_t* loop;
uv_os_fd_t fd;
struct sockaddr_in addr;