2011-09-13 3 views
5

리눅스 커널 모듈에서 스레드 로컬 데이터를 생성 할 수 있습니까?리눅스 커널 모듈에서 로컬 데이터 스레드하기

내 모듈을 호출하는 각 프로세스/스레드에 대한 데이터를 저장해야합니다. 스레드 로컬 데이터를 사용하는 쉬운 방법이 있습니까? 아니면 현재 프로세스의 PID를 키로 사용하는 해시 맵을 작성해야합니까?

+0

나는 당신이 작업 구조와 어떻게 든 연결시켜야한다고 확신합니다 ... –

답변

4

커널 모듈에 대한 인터페이스가 문자 장치 드라이버라고 가정하면 파일 구조체 (사용자 공간 파일 설명자와 유사 함)에 private_data 필드가 있습니다.

오픈 파일 조작시 선택 구조에 대한 포인터를 할당하고 할당하십시오.

정확히 로컬 스레드 또는 프로세스가 아니지만, 대부분의 경우 하나의 파일 디스크립터와 프로세스의 매핑이 사실이며 사용자에게 충분할 수 있습니다.

+0

대단히 감사합니다. – ar31

관련 문제