• Home
  • Raw
  • Download

Lines Matching full:ueventd

17 #include "ueventd.h"
51 // At a high level, ueventd listens for uevent messages generated by the kernel through a netlink
52 // socket. When ueventd receives such a message it handles it by taking appropriate actions,
55 // Ueventd also handles loading of firmware that the kernel requests, and creates symlinks for block
58 // When ueventd starts, it regenerates uevents for all currently registered devices by traversing
61 // ueventd would not have been running when these devices were registered and therefore was unable
65 // 'init' currently waits synchronously on the cold boot process of ueventd before it continues
67 // a speed up here is to parallelize the handling of ueventd messages, which consume the bulk of the
88 // 1) ueventd regenerates uevents by doing the /sys traversal and listens to the netlink socket for
91 // 2) ueventd forks 'n' separate uevent handler subprocesses and has each of them to handle the
96 // 3) In parallel to the subprocesses handling the uevents, the main thread of ueventd calls
103 // At this point, ueventd is single threaded, poll()'s and then handles any future uevents.
171 //Maybe you can add this dir to the ueventd.rc script to parallel processing in RestoreConHandler()
237 // Treat subprocesses that crash or get stuck the same as if ueventd itself has crashed or gets in WaitForSubProcesses()
240 // When a subprocess crashes, we fatally abort from ueventd. init will restart ueventd when in WaitForSubProcesses()
242 // since ueventd is marked as a critical service, init will reboot to bootloader. in WaitForSubProcesses()
244 // When a subprocess gets stuck, keep ueventd spinning waiting for it. init has a timeout for in WaitForSubProcesses()
245 // cold boot and will reboot to the bootloader if ueventd does not complete in time. in WaitForSubProcesses()
301 return ParseConfig({"/system/etc/ueventd.rc", "/vendor/etc/ueventd.rc"}); in GetConfiguration()
311 {"/vendor/ueventd.rc", "/vendor/etc/ueventd.rc"}, in GetConfiguration()
312 {"/odm/ueventd.rc", "/odm/etc/ueventd.rc"}, in GetConfiguration()
313 {"/ueventd." + hardware + ".rc", "another ueventd.rc file"}}; in GetConfiguration()
315 std::vector<std::string> canonical{"/system/etc/ueventd.rc"}; in GetConfiguration()
327 << "Legacy ueventd configuration file detected and will not be parsed: " in GetConfiguration()
347 LOG(INFO) << "ueventd started!"; in ueventd_main()