Gauche > Archives > 2022/04/09

2022/04/09 08:02:26 UTCshiro
#
ううっ、うちのmac古すぎてMonterey入らねえ… github actionsで回してるテストがDarwin 20.6.0(Big Sur)で通ってるから、Montereyから何か違う?
2022/04/09 19:21:21 UTCtioner
#
こちら(https://github.com/shirok/Gauche-makiki/blob/master/examples/query.scm)で、define-http-server の第二引数の第二引数である "app" は atomic-update! で更新されていますが、「app は前提として atom である」という理解で合っていますでしょうか?
2022/04/09 22:12:36 UTCshiro
#
appに渡ってくるのはstart-http-serverの:app-dataに渡したオブジェクトそのものです。makiki自身はappの中身は一切関知しません。なので何を渡しても良いのですが、リクエストハンドラはマルチスレッドで走るので、もしappが更新可能な状態を持つ場合は、自分で排他制御する必要があります。一番手軽なのは全体をatomでくるんで、atomic-update!を使うことです。(より複雑な構造の場合は、部分部分をatomicにする、などした方が効率が良いでしょうけど)