{sync_cnt()}{希哲13年7月3日}{希哲13年7月3日の開発}{要修正}{希哲13年7月3日の進捗時限}{希哲13年7月3日の進捗}{進捗記録}{進捗時限}{進捗}=}(9)

{希哲13年7月3日8歩 K#F85E/A-5B28-D197}

oln_T::sync_cnt() の実験続き。

前縁がやりとりするページ, pg_drg_vio.h, pg_fg.hDG_T 客体がスタックに置かれていたのを発見。昔,ロックによる停止を避けるためにこんな応急処置をした気がする。

恐らく,DG_T が破棄される際,最後の oln_T が実行する bye() のカウンタが0になり,スタックにあるアドレスを解放しようとしてしまう問題がある。これはそもそも DG_T が参照カウンタ付きで自身の指示体を渡していることが問題なので,oln_T の設計を汎用的にしたければ DG_T 側で p_ の参照カウンタを無効にして渡せばいい。要修正

これを修正したら問題なく動作するようになった。動作速度も,大きく落ちたようには感じない。

終了。

=}
{sync_cnt()}{xtd::p_}{希哲13年7月3日}{希哲13年7月3日の開発}{希哲13年7月3日の進捗時限}{希哲13年7月3日の進捗}{DG_T::oln()}{進捗記録}{進捗時限}{進捗}=}(10)
{sync_cnt()}{希哲13年7月3日}{希哲13年7月3日の開発}{希哲13年7月3日の進捗時限}{希哲13年7月3日の進捗}{進捗記録}{進捗時限}{進捗}=}(8)
{希哲13年7月3日}{希哲13年7月3日の開発}{希哲13年7月3日の進捗時限}{希哲13年7月3日の進捗}{進捗記録}{進捗時限}{進捗}=}(7)

{希哲13年7月3日4歩 K#F85E/A-5B28-E03D}

相互参照の問題を解決出来たと思ったら全く出来ていなかったので,感覚的にやっていたのを改め,もう一度しっかり原理を理解しておいた。

これが解決したと思ったら qy.h にまとめて書いていた求頼函数群で多重定義の違了。もともと整理したかった部分なので,これを機に種類別の譜類に振り分け。

途中で終了。

=}