逃避行

急にhttpdが書きたくなった.結局,Eventモジュールと格闘しながら4時間ほど費やして,httpdまで辿り着かず.大体わかった気がする.

Event.selectとかEvent.wrapが理解できなかったのですが,

  try 
    while true do
      ...
      let x = Event.select [Event.receive ch1;
                            Event.wrap ch2 (fun x -> raise Exit)] in
        ...
    done
  with
    Exit -> ()

とかやって,例外にしてループから抜ける使い方はどうでしょう.