zhangmeng
2024-02-05 a3df1ad41bce6d8d3094014c6e369072e594e7be
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "net_mod_server_socket_wrapper.h"
#include "net_mod_socket_wrapper.h"
#include "bus_server_socket_wrapper.h"
 
#include "shm_mm_wrapper.h"
#include "usg_common.h"
#include <getopt.h>
 
static void * server_sockt;
 
static void stop_bus_handler(int sig) {
  bus_server_socket_wrapper_stop(server_sockt);
}
 
static void *_start_bus_(void *arg) {
  pthread_detach(pthread_self());
    printf("Start bus server\n");
  pthread_t tid;
 
  if(bus_server_socket_wrapper_start_bus(server_sockt) != 0) {
    printf("start bus failed\n");
  }
 
  bus_server_socket_wrapper_close(server_sockt);
  printf("============bus stopted\n" );
}
 
 
int main() {
 pthread_t tid;
 char action[512];
 signal(SIGINT,  stop_bus_handler);
 signal(SIGTERM,  stop_bus_handler);
 shm_mm_wrapper_init(512);
 server_sockt = bus_server_socket_wrapper_open();
 pthread_create(&tid, NULL, _start_bus_,  NULL);
 
 
 // while (true) {
 //    printf("Input action: Close?\n");
 //    if(scanf("%s", action) < 1) {
 //      printf("Invalide action\n");
 //      continue;
 //    }
 
 //    if(strcmp(action, "close") == 0) {
 //      bus_server_socket_wrapper_close(server_sockt);
 //      break;
 //    } else {
 //      printf("Invalide action\n");
 //    }
 // }
 
 if (pthread_join(tid, NULL) != 0) {
    perror(" pthread_join");
 }
 
 
 shm_mm_wrapper_destroy();
}