int main(int argc, char *argv[]) { int i; ipr_sg_required = 1; openlog("iprinit", LOG_PERROR | LOG_PID | LOG_CONS, LOG_USER); for (i = 1; i < argc; i++) { if (parse_option(argv[i])) continue; else { printf("Usage: iprinit [options]\n"); printf(" Options: --version [--daemon] Print iprinit version\n"); return -EINVAL; } } init_all(); if (daemonize) { ipr_daemonize(); return handle_events(poll_ioas, 60, kevent_handler); } return 0; }
int main(int argc, char *argv[]) { int i, rc, delay_secs, wait; ipr_sg_required = 1; openlog("iprinit", LOG_PERROR | LOG_PID | LOG_CONS, LOG_USER); for (i = 1; i < argc; i++) { if (parse_option(argv[i])) continue; else { printf("Usage: iprinit [options]\n"); printf(" Options: --version [--daemon] Print iprinit version\n"); return -EINVAL; } } rc = check_sg_module(); if (daemonize) { ipr_daemonize(); if (!rc) rc = init_all(); if (rc) { delay_secs = 2; sleep(delay_secs); for (wait = 0; rc && wait < 300; wait += delay_secs) { rc = check_sg_module(); sleep(delay_secs); if (!rc) rc = init_all(); } if (rc) syslog(LOG_ERR, "Timeout reached. Ensure the sg module is loaded, then " "run iprinit manually to ensure all " "ipr RAID adapters are running optimally\n"); } return handle_events(poll_ioas, 60, kevent_handler); } else if (!rc) rc = init_all(); if (rc) syslog(LOG_ERR, "iprinit failed. Ensure the sg module is loaded, then " "run iprinit again to ensure all " "ipr RAID adapters are running optimally\n"); return rc; }