]> git.itanic.dy.fi Git - BME280_driver/blobdiff - bmed.c
bmed: Avoid failing to bind() due to "Address already in use"
[BME280_driver] / bmed.c
diff --git a/bmed.c b/bmed.c
index 6970aa1bb7f31ba08a2b285c6f2e06e03a7583bb..31a60109c71a2b04c1c8f3b53a8e236aa8059fbd 100644 (file)
--- a/bmed.c
+++ b/bmed.c
@@ -246,6 +246,7 @@ static void *event_handler(void *arg)
        struct sockaddr_in addr;
        struct listening_socket incoming;
        int sockfd, ret;
+       int enable = 1;
 
        bzero(&addr, sizeof(addr));
        bzero(&incoming, sizeof(incoming));
@@ -256,6 +257,10 @@ static void *event_handler(void *arg)
                goto out;
        }
 
+       ret = setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int));
+       if (ret < 0)
+               printf("Error setting SO_REUSEADDR: %m\n");
+
        addr.sin_family = AF_INET;
        addr.sin_port = htons(8347);
        addr.sin_addr.s_addr = INADDR_ANY;