We use sysvinit to build our system. When I input "poweroff" command, sometimes 
the system has no response.

I did some investigation, and found that in the function check_init_fifo() of 
init, the line:

n = read(pipe_fd, &request, sizeof(request));

sometimes it return -1, and the error code is EAGAIN.

I modified the init code, and let it retry for 5 times when the error code is 
EAGAIN, but not work well.

Does anyone know why sometimes read /dev/initctl return -1? How to resolve 
this? Thanks.

Reply via email to