Hi,
I'm trying to use a call to reboot() to reboot the system after my program completes, however it seems that it takes a few seconds before the reboot actually happens. Why is this so?
My sample code is as follows:
After the "Rebooting..." is printed out, it takes a few seconds before the system reboots itself, even though I've specified 0 second sleep. Why is this so?Code:#include <stdlib.h> #include <stdio.h> #include <memory.h> #include <time.h> #include <ctype.h> #include <unistd.h> #include <linux/reboot.h> // Function prototypes int restart(int delay); int main(void); int restart(int delay) { sleep(delay); return reboot(LINUX_REBOOT_CMD_RESTART); } int main(void) { printf("Rebooting..."); fflush(stdout); restart(0); return 0; }