2016-11-07 6 views
0

나는 sys_wait4 (즉 wait() 또는 waitpid() 호출을 통해 도달 할 때) 우리는 구조체 작업에 저장되는 특수 큐에 현재 프로세스를 삽입에서 볼 wait() 또는 waitpid()으로 전화가 걸려 특정 프로세스가 대기 중입니다. 자체 (???) wait_chldexit 대기열에 있는지 확인해야합니까?wait() 또는 waitpid() 호출로 인해 프로세스가 대기 중인지 확인하는 방법은 무엇입니까? 그래서</p> <pre><code>DECLARE_WAITQUEUE(wait, current); add_wait_queue(&current->wait_chldexit,&wait); </code></pre> <p>내가 있는지 확인하려면 :

그래서 프로세스 자체 만 자체 wait_chldexit 큐에 삽입 할 수 있습니까?

맞았습니까?

이것은 Linux 커널 2.4입니다.

답변

1

예, waitqueue current->wait_chldexit에는 현재 프로세스의 단일 요소 또는 비 요소가 포함될 수 있습니다.

waitqueue가 주어지면 어느 누구도 깨어나지 않으며 대신 대기는 자식 스레드에서 발생한 신호에 의해 중단됩니다.

일부 스레드에 대해이 대기 대기를 확인하면 스레드가 wait() 또는 waitpid() 호출에서 차단되었는지 여부를 감지 할 수 있습니다.