init: Prevent spin loop while waiting for exec or property
Currently, when we are waiting for an exec service or a property, if there are either any services to be restarted or any more commands to be run, we set the epoll_timeout to handle these events. However, we don't actually restart and processes or execute any commands while waiting, so this essentially turns this waiting into a spin loop, particularly in the common case of having more commands to execute, where epoll_timeout is set to 0. The change only sets epoll_timeout if we're not waiting. Note that the only way to stop waiting for an exec service or a property is for a signal or property to be delivered to init, which happens through the epoll fds, so it's safe to indefinitely wait for epoll to return. Test: Boot bullhead Change-Id: Iae3b217eb28182038b464fd39df8e7d27b5e23ff
Loading
Please register or sign in to comment