소스 검색

Improve socket init and close in tests

Stéphane Raimbault 12 년 전
부모
커밋
9ba562e558
3개의 변경된 파일12개의 추가작업 그리고 6개의 파일을 삭제
  1. 4 2
      tests/bandwidth-server-many-up.c
  2. 4 2
      tests/random-test-server.c
  3. 4 2
      tests/unit-test-server.c

+ 4 - 2
tests/bandwidth-server-many-up.c

@@ -35,12 +35,14 @@
 #define NB_CONNECTION    5
 
 modbus_t *ctx = NULL;
-int server_socket;
+int server_socket = -1;
 modbus_mapping_t *mb_mapping;
 
 static void close_sigint(int dummy)
 {
-    close(server_socket);
+    if (server_socket != -1) {
+        close(server_socket);
+    }
     modbus_free(ctx);
     modbus_mapping_free(mb_mapping);
 

+ 4 - 2
tests/random-test-server.c

@@ -26,7 +26,7 @@
 
 int main(void)
 {
-    int socket;
+    int socket = -1;
     modbus_t *ctx;
     modbus_mapping_t *mb_mapping;
 
@@ -60,7 +60,9 @@ int main(void)
 
     printf("Quit the loop: %s\n", modbus_strerror(errno));
 
-    close(socket);
+    if (socket != -1) {
+        close(socket);
+    }
     modbus_mapping_free(mb_mapping);
     modbus_close(ctx);
     modbus_free(ctx);

+ 4 - 2
tests/unit-test-server.c

@@ -32,7 +32,7 @@ enum {
 
 int main(int argc, char*argv[])
 {
-    int socket;
+    int socket = -1;
     modbus_t *ctx;
     modbus_mapping_t *mb_mapping;
     int rc;
@@ -187,7 +187,9 @@ int main(int argc, char*argv[])
     printf("Quit the loop: %s\n", modbus_strerror(errno));
 
     if (use_backend == TCP) {
-        close(socket);
+        if (socket != -1) {
+            close(socket);
+        }
     }
     modbus_mapping_free(mb_mapping);
     free(query);