MUNLOCK
Section: 리눅스 프로그래머 매뉴얼 (2)
Updated: 1995년 11월 26일
Index
Return to Main Contents
이름
munlock - 메모리의 일정 부분에 대한 페이징을 다시 가능하게 한다.
사용법
#include <sys/mman.h>
int munlock(const void *addr, size_t len);
설명
munlock은
addr부터
len
바이트만큼 범위의 메모리에 대한 페이징을 다시 가능하게 한다.
지정된 메모리 범위의 일부를 포함하는 모든 페이지들은
munlock이
호출된 후 커널에 의해 다시 외부 스왑 공간으로 이동된다.
메모리 잠근은 스택이 아니다.
즉,
mlock이나
mlockall이
여러번 호출되어 여러번 잠겼던 페이지는 상응하는 범위에 대한
munlock이나
munlockall를
단 한번 호출하여 잠금을 풀 수 있다.
여러 위치나 여러 프로세스에 의해 잠겨진 페이지는 적어도 하나의
위치나 프로세스에 의해 잠겨져 있는 한 RAM에서 계속적으로 잠금이 유지된다.
mlock과
munlock를
이용할 수 있는 POSIX 시스템에서
_POSIX_MEMLOCK_RANGE는
<unistd.h>에 정의되어 있으며 <limits.h>에서
PAGESIZE는
페이지당 바이트 수를 가리킨다.
반환값
성공시,
munlock은
0을 리턴한다. 에러시, -1이 리턴되며,
errno는
적절한 값으로 설정된다. 그리고 해당 프로세스의 주소 공간의
잠금에 어떠한 변화도 일어나지 않는다.
에러
- ENOMEM
-
지정된 주소의 일정 부분이 해당 프로세스 주소 공간의 페이지와
일치하지 않는다.
- EINVAL
-
len이
양수가 아니다.
호환
POSIX.1b, SVr4.
관련 항목
munlock(2),
mlockall(2),
munlockall(2)
역자
정강훈 <skyeyes@soback.kornet.net>, 2000년 5월 20일
Index
- 이름
-
- 사용법
-
- 설명
-
- 반환값
-
- 에러
-
- 호환
-
- 관련 항목
-
- 역자
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:00 GMT, March 25, 2004