Session モジュールでは、リクエスト間をまたぐ持続性 (persistent) のセッションを管理するオブジェクトを提供しています。
このモジュールには BaseSession クラスと DbmSession クラス が入っています。BaseSession は直接使うためのクラスではありません (セッションを保存する手段を持っていません)。一方、DbmSession クラス は dbm を使ってセッションを保存します。
BaseSession クラスでは、プロセス間やスレッド間でセッションをロック するメカニズムも提供しています。ロックには APR のglobal_mutex を使います (このロックは起動時にあらかじめ複数作成されます)。 mutex の 識別番号はセッション id の法 (modulus) を使って (hash() で) 計算されます。(従って、異なるセッション id が同じハッシュ値になる可能性は あります。しかし、結果的には、これら二つのセッションが同時にロックされる ことはあり得ないため、わずかな処理の遅延が起こるにすぎません。