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
This commit is contained in:
Kenny Root 2014-08-20 16:16:44 -07:00
parent a59b6ac697
commit 17baff480a
1 changed files with 3 additions and 1 deletions

View File

@ -938,7 +938,9 @@ static void handle_firmware_event(struct uevent *uevent)
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));
}
}