ubik mutex API
More...
#include <ubinos_config.h>
#include <ubinos/type.h>
Go to the source code of this file.
ubik mutex API
ubik 뮤텍스 API를 정의합니다.
◆ MUTEX_OPT__NOPRIORITYINHERITANCE
#define MUTEX_OPT__NOPRIORITYINHERITANCE 0x80 |
뮤텍스 선택 사항: 뮤텍스의 우선순위 상속priority inheritance 특성을 비활성화 함 (우선순위 상속priority inheritance 특성 비활성화 선택 사항)
- Examples
- mutextest02.c.
◆ _mutex_tip_t
◆ mutex_pt
◆ mutex_create()
◆ mutex_create_ext()
int mutex_create_ext |
( |
mutex_pt * |
mutex_p, |
|
|
unsigned int |
option |
|
) |
| |
뮤텍스를 생성하는 함수 확장형
- Parameters
-
mutex_p | 생성한 뮤텍스의 주소를 저장할 포인터의 주소
|
option | 선택 사항 (MUTEX_OPT__...)
0: 어느 것도 선택하지 않음
|
- Returns
- 0: 성공
-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
- Examples
- mutextest02.c.
◆ mutex_delete()
◆ mutex_islocked()
뮤텍스가 잠겨져 있는지 여부를 돌려주는 함수
- Parameters
-
- Returns
- 1: 잠겨져 있음
0: 잠겨져 있지 않음
-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
◆ mutex_lock()
◆ mutex_lock_timed()
int mutex_lock_timed |
( |
mutex_pt |
mutex, |
|
|
unsigned int |
tick |
|
) |
| |
제한 시간을 두고 대상 뮤텍스 잠그기를 시도하는 함수
- Parameters
-
mutex | 대상 뮤텍스 포인터
|
tick | 제한 시간 (시스템 틱tick 수)
|
- Returns
- 0: 성공
-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
UBIK_ERR__TIMEOUT : 제한 시간 초과
UBIK_ERR__DEADLOCK : 데드락 발생 가능성이 있음
UBIK_ERR__TERMINATED : 기다리던 객체가 제거되었음
- Examples
- mutextest01.c.
◆ mutex_lock_timedms()
int mutex_lock_timedms |
( |
mutex_pt |
mutex, |
|
|
unsigned int |
timems |
|
) |
| |
제한 시간을 두고 대상 뮤텍스 잠그기를 시도하는 함수 (천분의 일초 단위)
- Parameters
-
mutex | 대상 뮤텍스 포인터
|
timems | 제한 시간 (천분의 일초)
|
- Returns
- 0: 성공
-1: 오류
-n: n-1 번째 매개변수가 잘못되었음
UBIK_ERR__TIMEOUT : 제한 시간 초과
UBIK_ERR__DEADLOCK : 데드락 발생 가능성이 있음
UBIK_ERR__TERMINATED : 기다리던 객체가 제거되었음
◆ mutex_unlock()