LISTEN状態のソケットの解放

LISTEN状態のソケットの解放もtcp_closeで行われる。

  1. まず、指定されたソケットの状態をTCP_CLOSEにする(tcp_set_state関数)。
  2. ソケットのアクセプトキュー(accept_queue)にリンクされているソケット、 およびsyn_tableにリンクしているopenreqを全て解放する。
    • syn_tableにリンクしているopenreq構造体を 解放(tcp_openreq_free関数)する。
    • アクセプトキュー(accept_queue)にリンクされているソケットに 対し、パケットを全て破棄しソケットをクリアする(tcp_disconnect関数)。 その後、そのソケットを破棄する(tcp_destroy_sock関数)。

(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1