hermes

HTTP GET/HEAD-only web server for static content.
git clone git://git.francescosaccone.com/hermes
Log | Files | Refs | README | LICENSE

commit d9a598daf9f8255e457664ade5f1a73ea9767ca9
parent 585c14177cc70e42056a923ce1ae556d59658f81
Author: Francesco Saccone <francesco@francescosaccone.com>
Date:   Tue,  1 Apr 2025 15:17:09 +0200

fix: set option SO_REUSEADDR to created socket

Signed-off-by: Francesco Saccone <francesco@francescosaccone.com>

Diffstat:
Msocket.c | 11++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/socket.c b/socket.c @@ -11,7 +11,8 @@ int create_socket(unsigned int port) { - int socket_fd = socket(AF_INET, SOCK_STREAM, 0); + int socket_fd = socket(AF_INET, SOCK_STREAM, 0), + yes = 1; struct sockaddr_in address; if (socket_fd == -1) { @@ -19,6 +20,14 @@ create_socket(unsigned int port) { return -1; } + if (setsockopt(socket_fd, + SOL_SOCKET, + SO_REUSEADDR, + &yes, + sizeof(yes)) == -1) { + print_error("error: set SO_REUSEADDR to socket"); + } + address.sin_family = AF_INET; address.sin_addr.s_addr = INADDR_ANY; address.sin_port = htons(port);