completion(완료)는 kernel 동기화 기법중 하나입니다.
API 는 아래와 같습니다.
#include <linux/completion.h>
DECLEAR_COMPLETION(struct completion comp);
init_completion(struct completion *comp);
void wailt_for_completion(struct completion *comp);
void complete(struct completion *comp);
void complete_all(struct completion *comp);
1. wait 을 걸때
1. wait 을 풀때
풀 동작하는 샘플 코드는 아래와 같이 첨부 파일을 참조 바랍니다.
API 는 아래와 같습니다.
#include <linux/completion.h>
DECLEAR_COMPLETION(struct completion comp);
init_completion(struct completion *comp);
void wailt_for_completion(struct completion *comp);
void complete(struct completion *comp);
void complete_all(struct completion *comp);
1. wait 을 걸때
#include <linux/module.h> #include <linux/completion.h> #include <linux/delay.h> #include <linux/kthread.h> #include <linux/time.h> struct completion comp; static int wait(void) { init_completion(&comp); wait_for_completion(&comp); } |
1. wait 을 풀때
#include <linux/module.h> #include <linux/completion.h> #include <linux/delay.h> #include <linux/kthread.h> #include <linux/time.h> struct completion comp; static int un_wait(void) { complete(&comp); } |
풀 동작하는 샘플 코드는 아래와 같이 첨부 파일을 참조 바랍니다.
'development' 카테고리의 다른 글
[crypto] 설치된 암호화 알고리즘 블럭의 목록을 확인해 보려면? (0) | 2011.10.13 |
---|---|
[crypto] ASync Hash api (0) | 2011.10.12 |
[crypto] ASync crypto 와 Sync crypto api 함수명 특징 (0) | 2011.10.10 |
[linux_kernel] scatterlist example (0) | 2011.09.27 |
[linux kernel]Scatter list (1) | 2011.09.27 |