mirror of
https://github.com/jamesroberts/fastwsgi.git
synced 2025-12-30 10:49:46 -06:00
Enables reusable port for sockets
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user