メイン 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 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
dsen | 投稿日時: 2008/11/20 17:50 |
新米 登録日: 2008/1/9 居住地: 投稿: 6 |
Re: ipHeaderはNULL ipotenさん
こんにちは ご指摘の通り、ブロードキャストを出そうとする時、チャンネルがビジーになって、結局出せませんでした。なので、3996行目のMESSAGE_Free(node, packet)が呼び出されました。しかし、このMESSAGE_Free(node, packet)はメッセージの中身だけ解放し、メッセージそのものまだ残っている感じです。ですから、空のメッセージがもう一度送信され、ipHeaderがNULLになってしまいました。 MESSAGE_Free(node, packet)を検索した結果、MacDot11StationResetCurrentMessageVariables(node, dot11)といつもペアで出てくるみたいですね。MacDot11StationResetCurrentMessageVariables(node, dot11)を読んだところ、この関数はメッセージのアドレスを解放(dot11->currentMessage = NULL)します。つまり、メッセージそのもの全部消します。 そして、3996行目のMESSAGE_Free(node, packet)の後ろにMacDot11StationResetCurrentMessageVariables(node, dot11)を追加しました。悪い影響あるかどうか分かりませんが、とりあえず、いまシミュレータが正常に動いています。 ipotenさん、ありがとうございました。 |
フラット表示 | 前のトピック | 次のトピック |