postgre 제품 소스 내 contrib/sslinfo/sslinfo.c 라는 파일에서 아래와 같은 소스코드가 제공이 되는데요..
static Datum ASN1_STRING_to_text()....
{
text *result;
...
result = cstring_to_text(dp);
if (dp != sp)
pfree(dp);
BIO_free(membuf);
PG_RETURN_TEXT_P(result);
}
이런 식으로 *text 구조체에 대한 반환을 합니다. 여기서 궁금한 내용은 PG_RETURN_TEXT_P 라는 매크로를 사용하여 결과 값을 반환하면,
윗 줄에서 선언한 cstring_to_text 함수 내 palloc이라는 메모리 할당 영역이 해제를 해주는지 궁금합니다.
|