ueventd: call _exit for safety
Make sure to call _exit instead of exit to avoid triggering exit
handlers that may have existed in the parent process.
Print out a log message when forking to process firmware events fails.
Change-Id: I2436bdf85d9a8ea26b718e62023f1dac89864667
diff --git a/init/devices.c b/init/devices.c
index e27c311..8b00bf2 100644
--- a/init/devices.c
+++ b/init/devices.c
@@ -938,7 +938,9 @@
pid = fork();
if (!pid) {
process_firmware_event(uevent);
- exit(EXIT_SUCCESS);
+ _exit(EXIT_SUCCESS);
+ } else if (pid < 0) {
+ log_event_print("could not fork to process firmware event: %s\n", strerror(errno));
}
}