commit da43127459f522908d81c7c574e8c63611e64333
parent 2bf01c85256228b5d91b157fd3d160d35784413d
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);