int main(int argc, char *argv[]) { printf("network layer is starting, pls wait...\n"); //initialize global variables overlay_conn = -1; //register a signal handler which will kill the process signal(SIGINT, network_stop); //connect to overlay overlay_conn = connectToOverlay(); if(overlay_conn<0) { printf("can't connect to ON process\n"); exit(1); } //start a thread that handles incoming packets from overlay pthread_t pkt_handler_thread; pthread_create(&pkt_handler_thread,NULL,pkthandler,(void*)0); //start a route update thread pthread_t routeupdate_thread; pthread_create(&routeupdate_thread,NULL,routeupdate_daemon,(void*)0); printf("network layer is started...\n"); printf("WIll wait till route daemon add pkt handler are running \n"); pthread_join(pkt_handler_thread,NULL); pthread_join(routeupdate_thread,NULL); network_stop(); //sleep forever // this will never get called while(1) { sleep(60); } }
void stop_network() { // close(sockfd); shutdown(sockfd, SHUT_RD); LOGD("sockfd closed"); network_stop(); }
void on_close_listener( HWND hWnd ) { network_stop(); }