Show page source of internal24-214-ソケットの解放 #25136

[[PageNavi(internal24-navi)]]

{{{ comment
h2w-title:ソケットの解放
}}}
 

= ソケットの解放 = #SECTION05240000000000000000

ソケットに対する送受信を禁止するためにはshutdownシステムコールが利用される。システムコールの実体はsys_shutdown関数である。sys_shutdown関数は、ソケット操作関数テーブル(struct proto_ops)を経由し、プロトコル固有のshutdown関数を呼び出すだけである。

ソケットに対しcloseシステムコールを発行すると、ファイル操作関数テーブルsocket_file_opsを通して、sock_close関数が呼び出される。sock_close関数では、まず非同期I/OのためのSIGIO発生要求をキャンセル(sock_fasync関数)し、その後ソケット操作関数テーブルを経由し、プロトコル固有のrelease関数を呼び出し、プロトコル固有の終了処理を行う。プロトコル固有の終了処理終了後、ソケットの解放を行う(iput関数)。

'''捕捉''' TCPなどではsocket自体は解放されるが、内部的にはしばらくコネクション状態は保持される。

----

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

[[PageNavi(internal24-navi)]]