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:
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);