Home | History | Annotate | Download | only in init

Lines Matching refs:Uevent

43 // At a high level, ueventd listens for uevent messages generated by the kernel through a netlink
51 // /sys and writing 'add' to each 'uevent' file that it finds. This causes the kernel to generate
52 // and resend uevent messages for all of the currently registered devices. This is done, because
54 // to receive their uevent messages and handle them appropriately. This process is known as
62 // Handling of uevent messages has two unique properties:
65 // that no file system operations are done while the uevent process has an abnormal egid or
74 // device when its uevent is handled, results in multiple restorecon operations being done on a
76 // than to do restorecon on each device as its uevent is handled. This only applies to cold boot;
77 // once that has completed, restorecon is done for each device as its uevent is handled.
83 // 2) ueventd forks 'n' separate uevent handler subprocesses and has each of them to handle the
98 // without issue after the coldboot process completes. This is because the uevent listener is
99 // paused while the uevent handler and restorecon actions take place. Once coldboot completes,
100 // the uevent listener resumes in polling mode and will handle the uevents that occurred during
126 std::vector<Uevent> uevent_queue_;
133 auto& uevent = uevent_queue_[i];
134 device_handler_.HandleDeviceEvent(uevent);
140 uevent_listener_.RegenerateUevents([this](const Uevent& uevent) {
141 HandleFirmwareEvent(uevent);
143 uevent_queue_.emplace_back(std::move(uevent));
279 uevent_listener.Poll([&device_handler](const Uevent& uevent) {
280 HandleFirmwareEvent(uevent);
281 device_handler.HandleDeviceEvent(uevent);