ncloader  0.1
 모두 데이타 구조 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 매크로 그룹들 페이지들
POSIX semaphore
+ POSIX semaphore에 대한 협력 다이어그램:

데이타 구조

struct  sem_thread_item
 
struct  sem
 세마포어 객체 더 자세히 ...
 
struct  timespec
 

타입정의

typedef struct sem sem_t
 세마포어 객체 더 자세히 ...
 

함수

int sem_init (sem_t *sem, int pshared, unsigned int value)
 세마포어 객체를 초기화 한다. 더 자세히 ...
 
int sem_destroy (sem_t *sem)
 세마포어 객체를 소멸 시킨다. 더 자세히 ...
 
int sem_post (sem_t *sem)
 세마포어 증가 연산을 수행한다. 더 자세히 ...
 
int sem_wait (sem_t *sem)
 세마포어 감소 연산을 수행한다. 더 자세히 ...
 
int sem_trywait (sem_t *sem)
 세마포어 감소 연산을 시도해 본다. 더 자세히 ...
 
int sem_timedwait (sem_t *sem, const struct timespec *abs_timeout)
 지정된 시간 안에 세마포어 감소 연산을 시도해 본다 더 자세히 ...
 
int sem_getvalue (sem_t *sem, int *val)
 지정된 세마포어 객체에서 조건 값을 가져온다. 더 자세히 ...
 

상세한 설명

작성자
Sung-jae Park nices.nosp@m.j@ni.nosp@m.cesj..nosp@m.com
날짜
2011-8-11

세마포어를 구현한다

작성자
Sung-jae Park nices.nosp@m.j@ni.nosp@m.cesj..nosp@m.com
날짜
2011-8-11

타입정의 문서화

typedef struct sem sem_t

세마포어 객체

함수 문서화

int sem_destroy ( sem_t sem)

세마포어 객체를 소멸 시킨다.

매개변수
[in]sem세마포어 객체
반환값
int 성공시 0 실패이 에러코드
참고
sem_init()

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

int sem_getvalue ( sem_t sem,
int *  val 
)

지정된 세마포어 객체에서 조건 값을 가져온다.

매개변수
[in]sem세마포어 객체
[in]val조건 값
반환값
int 성공시 0, 실패시 에러코드
참고
sem_init()
int sem_init ( sem_t sem,
int  pshared,
unsigned int  value 
)

세마포어 객체를 초기화 한다.

매개변수
[in]sem세마포어 객체
[in]pshared0 이면 쓰레드 공유, 0 이 아니면 프로세스 공유
[in]value세마포어 초기 값
반환값
int 성공시 0 실패시 에러코드
참고
sem_destroy()

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

int sem_post ( sem_t sem)

세마포어 증가 연산을 수행한다.

매개변수
[in]sem세마포어 객체
반환값
int 성공시 0, 실패시 에러코드
참고
sem_wait()
sem_trywait()
sem_timedwait()
주의
sem->thread_list->prev->next 는 NULL 이다. 수정된 이중 연결 리스트는 last node 의 next 는 NULL 을 가리키고 있어, 자신이 마지막 노드임을 표시한다.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

int sem_timedwait ( sem_t sem,
const struct timespec abs_timeout 
)

지정된 시간 안에 세마포어 감소 연산을 시도해 본다

매개변수
[in]sem세마포어 객체
[in]abs_timeout기다릴 시간
반환값
int 성공시 0 실패시 에러코드
참고
sem_wait()
sem_trywait()
int sem_trywait ( sem_t sem)

세마포어 감소 연산을 시도해 본다.

매개변수
[in]sem세마포어 객체
반환값
int 성공시 0 실패시 에러코드
참고
sem_wait()
sem_timedwait()

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

int sem_wait ( sem_t sem)

세마포어 감소 연산을 수행한다.

매개변수
[in]sem세마포어 객체
반환값
int 성공시 0 실패시 에러코드
참고
sem_post()
sem_trywait()
sem_timedwait()
주의
쓰레드 상태를 SKIP 으로 바꿔서, interrupt 가 enable 되서 context switch 가 발생하여 다른 thread 로 바뀐 다음에, 다시 이 thread 로 돌아오지 않도록 한다. (sem_post 가 되기 전 까지는..)

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.: