mmap 및 munmap에 관한 간단한 질문이 있습니다. mmap
이 성공했지만 munmap이 실패 할 수 있습니까?munmap의 Linux 오류
모든 매개 변수가 올바르게 지정되었다고 가정합니다. 예를 들어 다음 코드 조각을 참조하십시오. 어떤 상황에서 munmap failed!
이 인쇄됩니까 ??
char *addr = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
... exit if mmap was not successful ...
... do some stuff using mmaped area ...
if(munmap(addr, 4096) == -1){
printf("munmap failed!\n");
}
불행히도 Linux의 munmap() _can_은 모든 매개 변수가 유효하고 매핑을 절반으로 분할하지 않은 경우에도 실패합니다. 예를 들어 http://stackoverflow.com/questions/43743555/munmap-failure-with-enomem-with-private-anonymous-mapping을 참조하십시오. – Ivan