*タイトル [#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


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS