int main(int argc, char** argv) { if (argc > 1) { if (strcmp(argv[1], "--help") == 0) { printf(USAGE_MSG); return 0; } else if (strcmp(argv[1], "--version") == 0) { printf(VERSION_MSG); return 0; } else if (strcmp(argv[1], "--selftest") == 0) { self_test = true; } else { printf("unrecognized option: %s\n", argv[1]); printf(HELP_MSG); return 1; } } init_log(); if (!self_test) { userlog(LOG_INFO, "started (v." VERSION ")"); } else { userlog(LOG_INFO, "started (self-test mode) (v." VERSION ")"); } setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); roots = array_create(20); if (init_inotify() && roots != NULL) { set_inotify_callback(&inotify_callback); if (!self_test) { main_loop(); } else { run_self_test(); } unregister_roots(); } else { printf("GIVEUP\n"); } close_inotify(); array_delete(roots); userlog(LOG_INFO, "finished"); closelog(); return 0; }
void close_fsnotify_backend() { close_inotify(); }