void parent_main() { while(running) { parent_loop(); } int i; for(i = 0; i < monitor_count; i++) { close_monitor(monitor_pid[i]); } dump("Removing fifo file: %s", CONTROLLER_FIFO_NAME); unlink(CONTROLLER_FIFO_NAME); dump("Finished"); }
int main(int argc, char *argv[]) { const char *path; sigset_t mask; __btd_log_init(NULL, 0); DBG(""); set_capabilities(); if (argc > 1) path = argv[1]; else path = DEFAULT_SNOOP_FILE; mainloop_init(); sigemptyset(&mask); sigaddset(&mask, SIGINT); sigaddset(&mask, SIGTERM); mainloop_set_signal(&mask, signal_callback, NULL, NULL); if (!strcmp(DEFAULT_SNOOP_FILE, path)) rename(DEFAULT_SNOOP_FILE, DEFAULT_SNOOP_FILE ".old"); if (open_monitor(path) < 0) { error("bluetoothd_snoop: start failed"); return EXIT_FAILURE; } info("bluetoothd_snoop: started"); mainloop_run(); close_monitor(); info("bluetoothd_snoop: stopped"); __btd_log_cleanup(); return EXIT_SUCCESS; }