lock 메소드는
뮤텍스가 잠금 해제 상태인지 여부를 판별하고 이러한 상태에 따라 다음과 같이 반응합니다.
- 뮤텍스가 잠금 해제 상태이면 이 오퍼레이션은 뮤텍스를 잠그고 호출 태스크가 임계 섹션에 진입하도록 허용합니다.
- 뮤텍스가 이미 잠겨 있으면 이 오퍼레이션은
차단된 다른 태스크와 함께 호출 태스크를 대기 중인 큐에 배치합니다.
pSOSystem 이외의 환경에서
이 메소드는 동일한 인터페이스를 구현하는 매크로입니다.
시그니처RiCOSResult RiCOSMutex_lock (RiCOSMutex *const me);
매개변수me
잠그려는 RiCOSMutex 오브젝트입니다.
리턴값RiCOS*.h 파일에 정의된
RiCOSResult 오브젝트입니다.
예제RiCOSResult RiCOSMutex_lock(RiCOSMutex * const me)
{
if (me == NULL) {return 0;}
if (semTake(me->hMutex, WAIT_FOREVER)==OK) {
return 1;
}
else
return 0;
}