*タイトル [#vfec283c] -再起呼び出し② *事例 [#k3648f64] -[[MemoryContextReset()/postgresql-8.1.4]] -[[MemoryContextResetChildren()/postgresql-8.1.4]] *課題 [#z9e2da62] MemoryContextReset()よりMemoryContextResetChildren()を呼び出している。 一方、MemoryContextResetChildren()よりMemoryContextReset()を呼び出している。 *解決方法 [#k53a0fc1] ひらメソッドでのページ作成順序は以下の通りだった。 +[[errstart()/postgresql-8.1.4]] +[[MemoryContextReset()/postgresql-8.1.4]] +[[MemoryContextResetChildren()/postgresql-8.1.4]] このため、MemoryContextResetChildren()が一番下位の関数であると予想し、以下のように解読した。 +MemoryContextResetChildren()の呼び出し元がMemoryContextReset()のみであることを確認。 +MemoryContextResetChildren()内でのMemoryContextReset()呼び出しを、再起呼び出しと断定し、呼び出し箇所に「呼び出し元(再帰的使用)」と記載する。 --MemoryContextResetChildren()解読を、このまま継続する。 +MemoryContextReset()を解読する。 上記方法で概要は一応書けました。 *履歴 [#g02e1c5a] -作者:[[testnoda/ページ作者]] -日付:2007/3/11 *コメント [#c7849f42] #comment