send_signal()함수에서 이해안되는부분이 있어요...ㅠㅜ
글쓴이: kernewbies / 작성시간: 화, 2004/01/13 - 6:57오후
다음에서 pending된시그널을 관리할때요..
왜 tail은 다음과 같이 이중포인터를 사용하는지 궁금합니다.
그냥 head와 같이 *tail 하면 왜 안되나요 -.-
17 struct sigpending {
18 struct sigqueue *head, **tail;
19 sigset_t signal;
20 };
그리고 이것을 사용하는 예가 send_signal()함수의 다음부분이구요..
http://lxr.linux.no/source/kernel/signal.c#L414
432 q->next = NULL;
433 *signals->tail = q;
434 signals->tail = &q->next;
초보라 죄송해요 :oops:
Forums:
tail을 이중포인터로 하지 않으면 코드가 약간 더 복잡해지게 됩니다.
tail을 이중포인터로 하지 않으면 코드가 약간 더 복잡해지게 됩니다.
tail을 그냥 포인터로 하여 queue insert, remove 함수를 직접 구현해 보시면
확실히 더 불편하다는 것을 아실 수 있을듯...합니다...
댓글 달기