glib 소스에서 GAllocator를 free 하지 않는데...??

marten의 이미지

혹시 이 문제에 대해서 아시는 분 계십니까?

glib에서 GNode 같은 것들은 g_malloc을 직접 사용하지 않고, GMemChunk 같은 걸로 블럭 단위의 메모리 할당을 합니다. 사실 GAllocator를 사용하는 데, GAllocator가 GMemChunk를 사용하더군요.

그런데 소스를 보면, g_allocator_new()를 호출하는 부분은 있는데, g_alloctor_free()에 대한 호출은 없습니다. 이러면 메모리 누수가 발생할텐데.. glib FAQ는 그렇지 않다고 설명을 하더군요.

glib FAQ 에서는 OS가 이 블럭들을 직접 free 해 주는 것으로 나와있었습니다. 몇몇 메모리 프로파일러들이 이것을 memory leak이라고 보고하지만, 사실은 memory leak이 아니라고 써놨더군요.

이게 도대체 어찌된 일인지 설명해주실 분 계십니까?