Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/19:17/19
2024/05/18:20/24

2024/03/20より397/1410
人気モジュール
No.1: フォーラム 15
No.2: QualNet概要 1
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット17

No.1:どっかの巡回ロボット14
No.2:Google巡回ロボット2
No.3:Baidu巡回ロボット1

日曜日からの合計
メイン
   Routing Protocols Implementation & Model Development
     ipHeaderはNULL
投稿するにはまず登録を

題名 投稿者 日時
   ipHeaderはNULL dsen 2008/11/13 17:58
     Re: ipHeaderはNULL ipoten 2008/11/17 18:59
       Re: ipHeaderはNULL dsen 2008/11/20 17:50
       » Re: ipHeaderはNULL ipoten 2008/11/20 18:39
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
ipoten
投稿日時: 2008/11/20 18:39
一人前
登録日: 2005/7/12
居住地:
投稿: 102
Re: ipHeaderはNULL
こんにちはdsenさん

引用:
>そして、3996行目のMESSAGE_Free(node, packet)の後ろに
>MacDot11StationResetCurrentMessageVariables(node, dot11)を追加しました。悪い
>影響あるかどうか分かりませんが、とりあえず、いまシミュレータが正常に動いてい
>ます。
もしかしたら、ユニキャスト送信時にこのシーケンスを通ると、メモリリークするかもしれません。
というのも、この関数MacDot11StationStartTransmittingPacket()に渡される引数packetは、
ユニキャストの場合dot11->currentMessageのコピー
4534|        Message* pktToPhy = MESSAGE_Duplicate(node, dot11->currentMessage);
だからです。
ユニキャストでは再送のためにdot11->currentMessageが保持されていますが、
勝手にMacDot11StationResetCurrentMessageVariables()でdot11->currentMessageをNULLクリアしてしまうと、
パケットメッセージ本体(コピー元)をMESSAGE_Free()するひとがいなくなります。

ブロードキャストの場合のみMacDot11StationResetCurrentMessageVariables()を呼び出すような処理が必要かもしれませんね。
もし、現状のdsenさんの修正で不安定(シミュレーション期間中に使用メモリが増えていくとか)であれば、
試してみてもよいと思います。
あ、こちらで確認したわけではないので、あくまでもご参考&自己責任で、あしからず。
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT