서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.

안녕하세요.. 

매번 눈팅만하다가 글을 올립니다...  


117쪽 ueventd 실행을 설명하는 부분에 대한 설명이 조금 아쉬운 감이 있어서요... 


제 짧은 소견에는 ueventd 는 init.rc의 아래와 같은 부분에서 시작하는 것 같습니다.. 

   1 on early-init

   2     start ueventd

   3 


즉 init.rc가 파싱되고 early-init 부분이 실행되어지면서 ueventd가 시작 됩니다... 


또한 console에서 ueventd의 정보를 보면 아래와 같습니다.. 

lrwxrwxrwx 1 hanger18 lars 7 2011-08-29 16:34 out/target/product/tcc8800/root/sbin/ueventd -> ../init*


따라서 system/core/init/init.c의 아래 source code의 의미는 
int main(int argc, char **argv) 
{
   ... ..
    if (!strcmp(basename(argv[0]), "ueventd"))

         return ueventd_main(argc, argv);
}
이 파일을 컴파일한 결과물(/init)이 uevnetd라는 이름으로 실행될때 ueventd_main()부분을 수행하라 정도가 맞을 것으로 생각됩니다... 

물론 책의 내용("안드로이드 init 프로세스의 main함수이며 main함수는 시작부분에 uventd_main 함수를 호출시켜 가장 먼저 ueventd 데몬을 동작시켜준다") 도 틀린 내용은 아니라고 생각합니다만, 
실행되는 내용과 과정에 있어서 조금은 오해의 소지가 있을 듯도 하여 옥의티라 할 수도 없는 부분 소심하게 지적해봅니다... 

내용 읽어주셔서 감사드립니다. 




고도리

2011.08.30 07:59:53
*.200.239.234

위의 내용의 경우 원래 2.2로 썼던 부분을 고쳐쓰다보니, 약간 애매하게 처리된 듯 하네요.


읽어보니 매우 명확하게 설명해 주셨습니다.


내용 감사드립니다. 만일 추후에 책이 더 나온다면 참고해서 수정하도록 하겠습니다....^^

(간략한 각주를 달고요...ㅎ)

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

사용자 로그인