急に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 -> ()
とかやって,例外にしてループから抜ける使い方はどうでしょう.