int main(int argc, char **argv) { char c; int verbose; /* defaults */ verbose = 1; while((c = getopt(argc, argv, "Vv:")) != EOF) { switch(c) { case 'V': printf("%s %s\n", PACKAGE, VERSION); break; case 'v': verbose = atoi(optarg); break; case '?': usage(argv[0], 1); break; } } llog_init(LLOG_STDERR); llog_level(verbose); itop_run(); llog_close(); exit(0); }
int main(int argc, char ** argv) { char config_file [256] = { 0 }; int config_flag = 0; config_t config; llog_init(LL_DEBUG, stdout); for(int i = 1; i < argc; i++) { char * arg = argv[i]; if((!strcmp(arg, "-c") || !strcmp(arg,"--config")) && i + 1 < argc) { config_flag = 1; strcpy(config_file, argv[++i]); } else { printf("[%s] Unsupport argument:%s\n",argv[0],arg); exit(-1); } } VERIFY(config_flag,"[MULTIUART]: You must specify the configuration file"); read_config_file(config_file, &config); register_uart_recv_handler("ipmi",ipmi_uart_recv_handler); register_uart_recv_handler("raw", raw_uart_recv_handler); register_uart_recv_handler("raw_timeout", raw_uart_timeout_handler); register_uart_recv_handler("ipmi_timeout",ipmi_uart_timeout_handler); register_socket_recv_handler("ipmi",ipmi_socket_recv_handler); register_socket_recv_handler("raw", raw_socket_recv_handler); socket_uart_init(&config); pthread_t send_deamon,recv_deamon; pthread_create(&send_deamon, NULL, socket_uart_send_manager, NULL); pthread_create(&recv_deamon, NULL, socket_uart_recv_manager, NULL); while(1) { sleep(1); fflush(stdout); } return 0; }
int main(int argc, char ** argv) { llog_init(LL_NOTICE,stdout); pthread_t tid; int i = 1; int arg[100]; for(i = 0; i < 10; i++) { arg[i] = i; pthread_create(&tid,NULL,logit,&arg[i]); } while(1) { sleep(5); } }
int main(const int argc, const char *argv[]) { assert(argc == 2); const char *id = argv[1]; llog_init(); subscriptions_new(&SUBSCRIPTIONS); SUBSCRIPTIONS.unsubscribe_cb = client_unsubscribed; #ifdef EXTERNAL_POLL max_poll_elements = getdtablesize(); pollfds = malloc(max_poll_elements * sizeof(struct pollfd)); fd_lookup = malloc(max_poll_elements * sizeof(int)); if (pollfds == NULL || fd_lookup == NULL) { lwsl_err("Out of memory pollfds=%d\n", max_poll_elements); return -1; } #endif struct lws_context_creation_info info; WEBSOCKETS = initialize_lws_context(&info); if (!WEBSOCKETS) { llog(LOG_ERR, "Server Starting\n"); return -1; } MessageQueue queue; if (!MessageQueue_new(&queue, id)) llog(LOG_ERR, "Failed to create the MessageQueue.\n"); queue.on_message = my_message_callback; queue.on_connect = my_connect_callback; queue.on_log = my_log_callback; queue.on_subscribe = my_subscribe_callback; MessageQueue_connect(&queue); MOSQUITTO = queue.queue; llog(LOG_INFO, "Starting server\n"); for (;; ) { #ifdef EXTERNAL_POLL int n = 0; /* * this represents an existing server's single poll action * which also includes libwebsocket sockets */ n = poll(pollfds, count_pollfds, 50); if (n < 0) continue; if (n) for (n = 0; n < count_pollfds; n++) if (pollfds[n].revents) /* * returns immediately if the fd does not * match anything under libwebsockets * control */ if (libwebsocket_service_fd(WEBSOCKETS, &pollfds[n]) < 0) lwsl_notice("No socket needs LWS service"); #else libwebsocket_service(WEBSOCKETS, EVENT_LOOP_TIMEOUT); #endif MessageQueue_run(&queue, EVENT_LOOP_TIMEOUT); } libwebsocket_context_destroy(WEBSOCKETS); lwsl_notice("Server Shutdown down\n"); MessageQueue_free(&queue); subscriptions_destroy(&SUBSCRIPTIONS); return 0; }